Git Merge Workflow

Aquí está mi solución para el flujo de trabajo de fusión utilizando VSTS y Git, diagtwig que se proporciona a continuación.

Esto funciona pero, al parecer, hay 2 pasos networkingundantes para evitar conflictos de fusión. Espero que alguien pueda tener una forma más fácil de hacerlo en 1 paso. Si rebase cada twig, esto funcionará, pero estoy tratando de evitar ese método. Mis pasos incluyen:

  1. Cree una twig dev, una maestra y twigs suplementarias para las características del desarrollador.
  2. Inserte el código en la twig de desarrollo desde las twigs de características.
  3. Tire maestro en dev y resolver conflictos.
  4. Tire de dev en master una vez que se hayan resuelto los conflictos.
  5. Vuelva a colocar el master en dev para que el historial de commit sea el mismo.

Imagen de Git Workflow

De acuerdo con su descripción, parece que el master es su twig principal, el desarrollador es para usted tener un mayor desarrollo para su proyecto, las twigs de feature son funciones de mew o ayudarlo a desarrollar en la twig de desarrollo. Entonces el flujo de fusión debería ser:

  1. Una vez finalizado el trabajo de la twig de feature , combine la feature en dev ( git checkout dev y git merge feature ).
  2. Después de terminar el trabajo en la twig dev , fusionar dev en master ( git checkout master y git merge dev ).

Ahora la twig master contiene el trabajo más reciente de la twig de desarrollo. Y, por lo general, no es necesario fusionar el master nuevo en el desarrollador, ya que el master es su twig principal.

Nota:

  • Cuando haya conflictos durante la fusión, modifique y guarde todos los files de conflicto, luego use git add . y git commit . O puede usar la estrategia de combinación para resolver conflictos automáticamente.
  • A pesar de que git pull desde otra twig puede tener el mismo resultado que git merge , aún así sugiero que uses git merge . El command existe para esta situación y es más regular.