theirs content conflicts git merge git-merge git-conflict-resolution

content - Cómo deshacer una fusión de git con conflictos



git resolve conflicts using theirs (3)

Último Git:

git merge --abort

Esto intenta restablecer su copia de trabajo al estado en que se encontraba antes de la fusión. Eso significa que debe restaurar cualquier cambio no confirmado desde antes de la fusión, aunque no siempre puede hacerlo de manera confiable. En general, no deberías fusionarte con cambios no comprometidos de todos modos.

Antes de la versión 1.7.4:

git reset --merge

Esta es una sintaxis más antigua pero hace lo mismo que la anterior.

Antes de la versión 1.6.2:

git reset --hard

que elimina todos los cambios no confirmados, incluida la combinación no confirmada. A veces, este comportamiento es útil incluso en las versiones más recientes de Git que admiten los comandos anteriores.

Estoy en la rama mybranch1 . mybranch2 se bifurca de mybranch1 y se hicieron cambios en mybranch2 .

Luego, mientras estaba en mybranch1 , he hecho git merge --no-commit mybranch2 Muestra que hubo conflictos mientras se fusionaba.

Ahora quiero descartar todo (el comando de merge ) para que mybranch1 vuelva a ser lo que era antes. No tengo idea de cómo hago para esto.


En realidad, vale la pena notar que git merge --abort solo es equivalente a git reset --merge dado que MERGE_HEAD está presente. Esto se puede leer en la ayuda de git para el comando de combinación.

git merge --abort # is equivalent to git reset --merge when MERGE_HEAD is present.

Después de una fusión fallida, cuando no hay MERGE_HEAD , la fusión fallida se puede deshacer con git reset --merge pero no necesariamente con git merge --abort , por lo que no solo son sintaxis antigua y nueva para la misma cosa .

Personalmente, encuentro que git reset --merge mucho más útil en el trabajo diario.


Suponiendo que está utilizando el último git,

git merge --abort