Flujo de trabajo Merge / Rebase

Estoy en el process de cambiar mi gitmerge-workflow y encontré el siguiente problema:

Hasta ahora, he estado fusionando (–no-ff) mis cambios en la twig de develop nuevo a master cada vez que lancé una nueva versión. Esto generó un nuevo merge-commit que contiene el historial (–log) de todos los commits de develop . Me di count de que esto no era óptimo, y realmente quería hacer fusiones rápidas de mi twig de develop a master (habiendo cambiado mis posts de compromiso en develop para reflejar mis cambios de una manera "más limpia").

Mi problema actual: el commit más reciente en master es todavía un commit-merge de la última vez, debido a que no puedo hacer un ff-merge desde el develop hasta el master ahora, ya que las 2 twigs "divergieron" (la fusión -compromiso falta en develop ).

Mi idea para resolver esto hubiera sido, estar en desarrollo: git rebase master , lo que git rebase master este merge-commit, y luego me habilitaría para hacer una git merge develop en master. ¿Pero esto generaría un nuevo compromiso en el develop (este compromiso de fusión particular) o será lo suficientemente inteligente como para reconocer que los cambios de este compromiso de fusión ya son parte del develop ?

git rebase master mientras develop funcionará bien para tus propósitos.

Si sus sucursales son actualmente así:

 ABCDE <-- master / FGHIJ <-- develop 

luego terminarán así (porque IJ es el único bit no alcanzable desde E ):

 ABCDE <-- master \ I'-J' <-- develop 

que luego se fusionará de nuevo en maestro así:

 ABCDE-I'-J' <-- master 

Su método debería permitir que funcione. Otra forma en que puede abordar esto, por supuesto, es eliminar completamente su twig de desarrollo en la siguiente fusión para dominar en caso de que falle la rebase. Luego solo ramifíquese un nuevo desarrollo desde el maestro y la rebase desde ese punto en adelante.

En mi empresa anterior, intentamos cambiar nuestro flujo de trabajo para que no se fusionara con el de las bases de datos. Pero terminó teniendo todo tipo de problemas extraños debido a la fusión de diferentes twigs. Simplemente se sintió más limpio y seguro comenzar de nuevo en la twig de desarrollo directamente desde el máster.