¿Cómo volver a formatear el parche después de la fusión en Git?

Supongamos que hay dos twigs, master y slave , y editan el mismo file y la misma línea. Inicialmente, el contenido del file es

 foo bar 

a continuación, en el slave twig se edita para convertirse

 foo bar baz 

Ahora el usuario de Branch slave formatea el parche ( git format-patch master ) y lo envía al usuario del branch master . Al mismo time, en el master sucursal, el mismo file se edita y se convierte en

 foo bar spam eggs 

El parche no se puede aplicar, y el master le pide al slave que se fusione y cree un nuevo parche. Cuando el master se fusiona en slave y se resuelve el conflicto, es hora de reformatear el parche. El gráfico de confirmación se ve así:

 slave: master: foo bar baz spam eggs | \ | \ | foo bar spam eggs | | foo bar baz | \ | \ | +--------- foo bar 

El último compromiso (fusión) en slave ve así:

 @@@ -1,1 -1,1 +1,1 @@@ - foo bar baz -foo bar spam eggs ++foo bar baz spam eggs 

Sin embargo, si ahora ejecutamos git format-patch master , obtenemos exactamente el mismo parche que antes, que no tiene en count la fusión y la resolución de conflictos:

 @@ -1 +1 @@ -foo bar +foo bar baz 

¿Cómo formatea un parche que se aplicaría contra el último máster? Me gustaría hacerlo sin rebase .

Actualización: git format rev1..rev2 , donde rev1 y rev2 son las cabezas de las twigs master y custom , respectivamente, no incluye los cambios relacionados con la resolución de conflictos. git-diff formatea un parche válido, pero omite los posts de confirmación.

¿Por qué estás usando parches? Deberías empujar y tirar entre repositorys.

Una fusión no es algo de lo que puedas hacer un parche. Seguirá al primer padre solamente. Puedes get lo que quieras usando git diff y formateando para patch mientras especificas 2 commits diferentes para diferenciar entre.

Espero que esto ayude.