Audit express offert • Réponse sous 24h

Résoudre rapidement les conflits Git avec mergetool

Introduction

Exemple d’outil de merge visuel

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 wslview ou configurez la variable DISPLAY.
  • 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.