Qu'est-ce que trois voies
Le diff à deux voies montre ce qui a changé entre deux versions. Le diff à trois voies considère aussi l'ancêtre commun, laissant Git décider si une région a été changée par un côté, l'autre ou les deux. Trois voies est le fondement du merge.
Inspecter un conflit
<<<<<<< HEAD
notre version
=======
leur version
>>>>>>> feature
git config merge.conflictStyle diff3
git checkout --conflict=diff3 path/to/file
Stages de l'index
git ls-files -u
git show :1:path
git show :2:path
git show :3:path
Stratégies
git checkout --ours path/to/file
git checkout --theirs path/to/file
git checkout --merge path/to/file
git merge -X theirs feature
git merge -X ignore-all-space feature
git merge -X renormalize feature
Mergetool
git config merge.tool meld
git mergetool
Ancêtre récursif (ort)
Quand deux branches partagent plusieurs bases de merge, la stratégie ort (par défaut depuis Git 2.34) les fusionne virtuellement d'abord.
Erreurs courantes
Supposer que l'ancêtre dans les marqueurs de conflit correspond à votre commit précédent — c'est la base de merge.