crear convert version-control tfs merge branch

version-control - crear - convert to branch tfs



¿Fusión cruzada en TFS? (6)

¿Es posible fusionarse con una sucursal que no sea directora o hija directa en TFS? Sospecho que la respuesta es no, ya que esto es lo que he experimentado al usarlo. Sin embargo, parece que en ciertos momentos sería realmente útil cuando se trabaje con diferentes funciones que pueden tener diferentes ciclos de aprobación (es decir, la característica uno podría aprobarse antes de la característica dos). Esto se vuelve extremadamente difícil cuando tenemos sucursales de producción donde tenemos que fusionar alguna función en una rama anterior para que podamos lanzar antes de la próxima versión completa.

Nuestra estrategia de bifurcación actual es desarrollar en el tronco (o mainline como lo llamamos), y crear una rama para estabilizar y lanzar a la producción. Esta rama se puede usar para crear revisiones y otras cosas, mientras que la línea principal puede divergir para las próximas funciones.

¿Qué técnicas pueden usarse de otra forma para mitigar un escenario como el descrito anteriormente?


AFAIK puedes hacer esto siempre que las ramas se hayan creado fuera de la misma carpeta original.

  • el maletero/
  • branches / - / feature1 (ramificado desde el tronco) - / feature2 (ramificado desde el tronco)

Si haces esto, entonces deberías poder fusionar también entre feature1 y feature2.

Aunque mi experiencia de ramificación / fusión con TFS me deja con ganas de más. Ojalá tuviéramos SVN.


Es posible que desee volver a visitar su estrategia de ramificación. ¿Cómo se obtienen las ramas de producción? ¿Está fusionando todo el código de las ramas de desarrollo, las pruebas de regresión y luego creando una rama de producción para las correcciones? ¿O se está desarrollando en el tronco y luego creando ramas de producción para estabilizar y liberar? La segunda forma crea problemas del tipo que describes. Si está utilizando el primer enfoque, se supone que el troncal es solo para cosas que se han construido en ramas probadas y luego se fusionaron, se encontrará con esto con mucha menos frecuencia. Según ese enfoque, si todavía tiene este problema, puede deberse a que su esfuerzo de desarrollo es muy grande y es posible que necesite una estrategia de ramificación relativamente compleja con capas de ramificación y promoción.


Sí, puedes hacer una fusión sin base, pero solo desde la línea de comando (tf.exe).


TFS le permitirá fusionarse con una sucursal que no es un padre / hijo; estos se denominan fusiones infundadas. Vea estos enlaces:

Desde MSDN

Del equipo de TFS a través de CodePlex

Normalmente hacemos cambios importantes o desestabilizadores en una rama de desarrollo. Si está cerca de una versión principal de uno de nuestros productos, casi todos los cambios se realizarán en una sucursal.



Estoy de acuerdo con Harpreet en que es posible que desee revisar cómo ha configurado su estructura de ramificación. Sin embargo, si realmente quieres realizar este tipo de fusión, puedes hacerlo a través de algo llamado fusión sin base. Se ejecuta desde el símbolo del sistema tfs,

Tf merge /baseless <<source path>> <<target path>> /recursive

Información adicional sobre fusiones sin fundamento se puede encontrar aquí

También encontré que este documento es invaluable cuando se construye nuestra estructura de ramificación tfs. Microsoft Team Foundation Server Branching Guidance