¿Con qué frecuencia debo fusionar los cambios realizados en el maestro con mis otras twigs git?

Si tengo una twig master

Luego revisé una twig de work y realicé cambios increíbles, y algunos commits.

Luego tengo que arreglar algo, así que vuelvo a master y verificar una twig llamada fix , arreglar lo que tengo que hacer y fusionarlo en master .

Mi pregunta es, ¿debería unir el master al work y continuar, o debería continuar work donde estaba y fusionarlo cuando termine?

Me encuentro teniendo que volver a todas las twigs en las que trabajo y actualizar (fusionar cambios) cada twig.

Me da la sensación de que es mejor fusionarme lo antes posible, pero luego me veo obligado a actualizar continuamente todas las twigs en las que trabajo. ¿Es esto innecesario?

En realidad, no desea hacer "fusiones inversas", que es lo que está haciendo. Desea tener integración o liberar twigs candidatas donde se fusiona lo que quiera para ver qué funciona. Google "Sucursal por function" para ver cómo mantener su trabajo organizado, sincronizado y flexible.

Consulte el siempre impresionante model de ramificación de Git por Nive:

enter image description here

Verá, debe unir fix (no master ) a la twig work (aka develop ).

¿Con qué frecuencia debes unirte al master ? Cada lanzamiento estable, por supuesto.

¿Alguna otra duda? Mira la image. :PAG

Fuente: http://nvie.com/posts/a-successful-git-branching-model/

Cuando el maestro ha avanzado, nosotros:

 git fetch # get the latest master git checkout my_branch # work in my_branch git rebase master # reply my work on top of newer master 

para mantenerse actualizado con el maestro modificado (por ejemplo, cuando se le aplicó una fix ) y luego cuando fuimos a fusionar la sucursal en

 git checkout master # Do the work in master git merge my_branch # Bring in my branch 

Nuestro objective es fusionar la sucursal con bastante rapidez para evitar tener que actualizar muchos cambios.

Solo trabajamos en 2 o 3 sucursales por día y cuando las sucursales se comparten entre desarrolladores también las mantenemos al día con:

 get fetch # Gets the latest version of branches including my_branch git checkout my_branch # Do the work in the my_branch git reset --hard origin/my_branch # Reset to the latest version fetch in.