Menu
Coddy logo textTech

Git: Abortar una fusión

Última actualización

Si un git merge provoca conflictos y prefieres retirarte en lugar de resolverlos, git merge --abort cancela la fusión y restaura tu rama exactamente al estado en el que estaba antes de empezar. Es la vía de escape limpia de una fusión que se ha torcido.

Para una fusión que ya se completó, se deshace de otra forma - mira más abajo. Prueba esto en el terminal playground - una shell real en tu navegador.

git merge --abort cancela la fusión con conflictos y devuelve la rama al estado previo al inicio del merge.

Sintaxis

CommandWhat it does
git merge --abortCancela una fusión con conflictos y restaura el estado previo a la fusión
git reset --mergeEquivalente más antiguo - aborta y restablece la fusión
git merge --quitSale de la fusión pero mantiene el árbol de trabajo tal cual

Deshacer una fusión que ya finalizó

Distinto de abortar - el commit de fusión ya existe.

SituationCommand
La fusión es local, no está subidagit reset --hard ORIG_HEAD
La fusión ya está subidagit revert -m 1 <merge-hash>

Preguntas frecuentes sobre abortar una fusión en Git

¿Cómo cancelo una fusión en curso?
Ejecuta git merge --abort. Si una fusión se detuvo por conflictos y no quieres resolverlos, esto cancela toda la operación y devuelve tu rama y árbol de trabajo exactamente a como estaban antes de iniciar la fusión.
¿Cuál es la diferencia entre git merge --abort y git reset --merge?
Hacen esencialmente lo mismo - cancelar una fusión en curso y restaurar el estado previo a la fusión. git merge --abort es el comando moderno y diseñado específicamente para ello; git reset --merge es la forma más antigua que todavía funciona. Prefiere git merge --abort por claridad.
¿Cómo deshago una fusión que ya se completó?
Eso no es abortar, ya que el commit de fusión ya existe. Si la fusión solo es local, git reset --hard ORIG_HEAD devuelve la rama a donde estaba antes de la fusión; también funciona tras un fast-forward, donde HEAD~1 no serviría. Descarta el trabajo sin confirmar, así que comprueba git status primero. Si ya subiste la fusión, usa git revert -m 1 <merge-hash> para revertirla sin reescribir el historial compartido.
¿Abortar una fusión perderá mis otros cambios?
git merge --abort restaura el estado justo anterior a la fusión, por lo que los cambios de la fusión se descartan, pero tu propio trabajo confirmado permanece intacto. Si tenías cambios sin confirmar antes de iniciar la fusión, confírmalos o guárdalos con stash primero - abortar restaura el estado del commit previo a la fusión.
¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar git merge --abort en una shell real en tu navegador - nada que instalar. El curso interactivo y gratuito de Git de Coddy también cubre la fusión y la resolución de conflictos paso a paso.
Coddy programming languages illustration

Aprende Git con Coddy

COMENZAR