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