Par Anonyme (non vérifié) , 29 avril 2026

Définir "mauvais merge"

Un mauvais merge peut signifier : vous avez mergé la mauvaise branche, vous avez mal résolu les conflits, le merge a introduit une régression, ou vous avez mergé avant que la review ne soit complète.

Cas 1 : pas encore poussé

git reset --hard ORIG_HEAD

Cas 2 : poussé, les autres n'ont pas pull

git reset --hard ORIG_HEAD
git push --force-with-lease

Cas 3 : poussé, les autres ont pull

git revert -m 1 <merge-sha>

Re-merger après un revert

git revert <revert-sha>
git checkout feature/login
git rebase main
git checkout main
git merge feature/login

Cas 4 : mauvaise résolution de conflit

git checkout main
git commit -m "Fix conflict resolution from merge of feature/login"

Cas 5 : mergé la mauvaise branche

git reset --hard ORIG_HEAD
git merge correct-branch

Inspecter un merge

git log -1 --format=fuller --stat HEAD
git show -m HEAD
git diff HEAD^1 HEAD
git diff HEAD^2 HEAD

Éviter les mauvais merges

  • Utilisez toujours --no-ff sur les branches de longue durée.
  • Configurez CI pour tourner sur le résultat du merge.
  • Utilisez git mergetool pour les conflits délicats.
  • Lancez les tests immédiatement après chaque merge.

Le kit de récupération

  • ORIG_HEAD.
  • git reflog.
  • git revert -m.
  • git push --force-with-lease.