Menu
Coddy logo textTech

Git : Abandonner une fusion

Dernière mise à jour

Si un git merge rencontre des conflits et que vous préférez faire marche arrière plutôt que de les résoudre, git merge --abort annule la fusion et restaure votre branche exactement dans l'état où elle était avant que vous ne commenciez. C'est la sortie de secours propre pour une fusion qui a mal tourné.

Pour une fusion déjà terminée, on la défait autrement - voir ci-dessous. Essayez ces commandes dans le terminal playground - un vrai shell dans votre navigateur.

git merge --abort annule la fusion en conflit et ramène la branche à son état d'avant le merge.

Syntaxe

CommandWhat it does
git merge --abortAnnule une fusion en conflit et restaure l'état d'avant la fusion
git reset --mergeÉquivalent plus ancien - abandonne et réinitialise la fusion
git merge --quitQuitte la fusion mais conserve l'arbre de travail tel quel

Défaire une fusion déjà terminée

Différent d'un abandon - le commit de fusion existe déjà.

SituationCommand
La fusion est locale, non pousséegit reset --hard ORIG_HEAD
La fusion est déjà pousséegit revert -m 1 <merge-hash>

FAQ sur l'abandon d'une fusion Git

Comment annuler une fusion en cours ?
Exécutez git merge --abort. Si une fusion s'est arrêtée à cause de conflits et que vous ne voulez pas les résoudre, cela annule toute l'opération et ramène votre branche et votre arbre de travail exactement dans l'état où ils étaient avant le début de la fusion.
Quelle est la différence entre git merge --abort et git reset --merge ?
Ils font essentiellement le même travail - annuler une fusion en cours et restaurer l'état d'avant la fusion. git merge --abort est la commande moderne, conçue à cet effet ; git reset --merge est l'ancienne méthode qui fonctionne encore. Préférez git merge --abort pour plus de clarté.
Comment défaire une fusion déjà terminée ?
Ce n'est pas un abandon, car le commit de fusion existe déjà. Si la fusion n'est que locale, git reset --hard ORIG_HEAD ramène la branche là où elle était avant la fusion - cela fonctionne aussi après un fast-forward, là où HEAD~1 ne le ferait pas. Cela supprime le travail non validé, alors vérifiez d'abord git status. Si vous avez déjà poussé la fusion, utilisez git revert -m 1 <merge-hash> pour l'annuler sans réécrire l'historique partagé.
Abandonner une fusion va-t-il faire perdre mes autres modifications ?
git merge --abort restaure l'état juste avant la fusion, donc les modifications de la fusion sont abandonnées, mais votre propre travail validé reste intact. Si vous aviez des modifications non validées avant de commencer la fusion, validez-les ou mettez-les de côté avec stash d'abord - l'abandon restaure l'état du commit d'avant la fusion.
Puis-je m'entraîner en ligne ?
Oui. Ouvrez le terminal playground pour exécuter git merge --abort dans un vrai shell dans votre navigateur - rien à installer. Le cours Git interactif et gratuit de Coddy couvre aussi la fusion et la résolution de conflits étape par étape.
Coddy programming languages illustration

Apprenez Git avec Coddy

COMMENCER