Aplicar los cambios que se han fusionado y luego revertido

El problema es: queremos fusionar el topic en master , pero el topic es un antecesor de master , por lo que la fusión no es operativa. Un compromiso entre el topic y el master revierte la fusión anterior del topic al master . Lo hizo usando reset no revert . Ahora, un diff entre master..topic muestra todos los cambios que queremos aplicar. ¿Cómo aplicamos esos cambios?

  CBAD master * ---- * ---- * ---- * ---- * \ \ topic * ---- * ---- * ---- * 
  • A fue una merge .
  • B revirtió tanto A como D pero sin usar revert .
  • C agregó compromisos adicionales

Editar:

B revertió más que A , pero queremos volver a aplicar solo los cambios que A introdujo. Por lo tanto, revertir B no logrará nuestra meta, porque restaurará D

Hay algunas opciones:

  1. Puede revertir B y revertir D. Revertir B restaurará D, por lo que revierte D nuevamente.

  2. Si el diff muestra exactamente lo que desea aplicar, puede crear un file de parche desde el diff y aplicar ese file de parche en la twig principal.

Crea el parche:

 git diff master..topic > file.patch 

Ve a master y aplica el parche:

 git apply file.patch 

Mirar:

Rehaciendo una fusión revertida en Git

Respuesta corta: revertir la reversión. pero hay errores que deberías mirar en la documentation de git