TFS: rama de actualización con cambios de main

100

Entonces, tenemos nuestra línea de desarrollo principal, creo una rama y el desarrollador b crea una rama. Ambos trabajamos un poco. el desarrollador b termina su trabajo, se fusiona de nuevo con la línea de desarrollo principal. Sé que sus cambios me afectarán, y en lugar de ocuparme de los conflictos más adelante, me gustaría actualizar mi rama, con los cambios que están ahora en la línea principal de desarrollo, para poder tratar con ellos en mi rama, antes de fusionar de vuelta a main.

¿Cómo puedo hacer eso?

CaffGeek
fuente

Respuestas:

175

Desde Visual Studio, abra el Explorador de control de código fuente:

  • Ver | Explorador de equipo
  • Seleccione su proyecto de equipo en Team Explorer, expándalo y haga doble clic en Control de fuente
  • En el panel de la izquierda de Source Control Explorer, seleccione su proyecto de equipo .
  • En el panel de la derecha, busque la rama de la línea principal, haga clic con el botón derecho y seleccione Combinar ...
  • En el menú desplegable de la rama de destino , seleccione su rama de desarrollo.
  • Si desea un subconjunto de todos los cambios en la línea principal:
    • Elija el botón de opción Conjuntos de cambios seleccionados , haga clic en Siguiente .
    • Seleccione los conjuntos de cambios que representan la combinación de la rama de su otro desarrollador en main, haga clic en Siguiente .
  • De lo contrario, mantenga todos los cambios hasta una versión específica seleccionada, haga clic en Siguiente
    • El siguiente paso le pide que elija un tipo de versión. La última versión predeterminada es obviamente sencilla y autoexplicativa: estaría incorporando todos los cambios desde que su rama se creó desde la línea principal hasta su rama. Las otras opciones son sencillas, pero una explicación tutorial de cada opción disponible aquí ocuparía bastante espacio.
    • Siga los pasos restantes del asistente.
  • Haga clic en Finalizar .
  • Si hay errores o conflictos de fusión, se le pedirá que los resuelva, de forma similar a lo que vería si verificara sus cambios en el control de fuente cuando se realizaron otros cambios desde la última vez que se realizó el pago.
  • Una vez realizada la fusión, todos los cambios están en su copia local de la rama, pero aún no están comprometidos con el control de código fuente. Una vez que haya completado todas sus compilaciones y pruebas en su rama, puede verificar la combinación. Desde Visual Studio:
    • Ver | Otras ventanas | Cambios pendientes
    • Asegúrese de que todos los archivos relacionados con esta combinación estén marcados, agregue comentarios que describan la combinación y haga clic en Registrar .

Recomiendo mantener las fusiones (y cualquier resolución de conflictos de fusión necesaria, interrupciones de construcción, interrupciones de prueba) como su propio conjunto de cambios. Es decir, no mezcle otras funciones con fusiones. Los conjuntos de cambios granulares facilitan la revisión del historial de control de fuentes y la identificación de un único cambio de interés. Mantener el trabajo de fusión en su propio conjunto de cambios ayuda a trabajar hacia ese objetivo.

También hay una línea de comandos para fusionar, que se ejecuta tf merge /?desde un símbolo del sistema de Visual Studio.

¡Buena suerte y diviertete!

Andrew Brown
fuente
1
Funcionó perfectamente. Gracias. Solo quería asegurarme de que hice esto de la manera correcta. Esto es perfecto.
CaffGeek
¿Qué pasa si cuando me pidieron que resolviera los conflictos, cometí un error sobre cómo resolver el conflicto y solo me gustaría corregirlo para ese archivo? ¿Es posible revertir ese archivo y volver a fusionar ese archivo para tener una segunda oportunidad de fusión de conflictos?
Didier A.
¿Qué sucede si quisiera fusionar una etiqueta específica de la fuente principal en mi rama de destino? La etiqueta deseada se crea después de la operación de sucursal original (solo para mayor claridad)
Simon Bosley