Introduction

Les conflits Git peuvent bloquer un merge. Voici comment configurer et utiliser git mergetool pour les résoudre proprement et rapidement.
1. Configurer votre mergetool
Choisissez l’outil visuel que vous préférez et dites-le à Git :
Meld (Linux / macOS / Windows)
git config --global merge.tool meld
git config --global mergetool.meld.useAutoMerge true
Beyond Compare
git config --global merge.tool bc
# Windows (ex.) :
git config --global mergetool.bc.path "C:/Program Files/Beyond Compare 4/BComp.exe"
KDiff3
git config --global merge.tool kdiff3
git config --global mergetool.kdiff3.trustExitCode true
Options utiles (quel que soit l’outil) :
# Ne pas garder les fichiers .orig après merge
git config --global mergetool.keepBackup false
# Ne pas demander de confirmation avant chaque fichier
git config --global mergetool.prompt false
2. Lancer le mode interactif
Après un git pull ou un git merge qui crée des conflits :
git mergetool
Git ouvre votre outil de merge pour chaque fichier en conflit. En général vous verrez :
- LOCAL : votre branche (vos modifications)
- REMOTE : ce qui arrive de l’autre branche
- BASE : ancêtre commun
- MERGED : le résultat à produire
Résolvez les conflits dans l’interface, sauvegardez/validez dans l’outil, puis fermez ; Git passe au fichier suivant.
Finaliser le merge
# Marquer les fichiers comme résolus (si besoin)
git add <fichier>
# Terminer le merge
git commit --no-edit
Astuces rapides
- Tout prendre de votre version :
git checkout --ours <fichier> - Tout prendre de l’autre branche :
git checkout --theirs <fichier> - Relancer sur les fichiers restants :
git mergetool - Annuler le merge en cours :
git merge --abort - Comparer sans fusionner :
git difftool
Problèmes fréquents
- L’outil ne se lance pas : vérifiez le chemin (Windows) ou que l’appli est installée et dans le
PATH. - WSL : lancez un viewer Windows avec
wslviewou configurez la variableDISPLAY. - Chemins avec espaces : entourez les chemins de guillemets (
"C:/Program Files/…").
Conclusion
git mergetool apporte une résolution visuelle, limite les erreurs et accélère vos merges. Une bonne configuration (outil + options) fait gagner un temps précieux au quotidien.