Configurer Meld comme Difftool et Mergetool pour Git

John Wachira 30 janvier 2023
  1. Configurer Meld comme Git par défaut Difftool
  2. Configurer Meld comme Git par défaut Mergetool
Configurer Meld comme Difftool et Mergetool pour Git

Cet article traitera de la configuration de Meld en tant qu’outils diff et merge par défaut de Git. Meld est un programme génial de diff de l’interface graphique qui nous permet d’inspecter plus facilement les modifications de fichiers et de fusionner les résultats.

La première étape consiste toujours à télécharger et à installer le programme. Une fois que vous avez terminé, suivez notre exemple.

Configurer Meld comme Git par défaut Difftool

Pour configurer Git pour utiliser Meld comme difftool, nous devrons apporter des modifications à notre fichier .gitconfig. Nous allons ajouter les lignes ci-dessous à notre fichier .gitconfig.

[diff]
    tool = meld
[difftool]
    prompt = false
[difftool "meld"]
    cmd = meld "$LOCAL" "$REMOTE"

L’ordre est déterminé par l’ordre des arguments $LOCAL et $REMOTE. Dans notre cas, le $LOCAL, notre fichier d’origine, sera à gauche et le $REMOTE est le fichier modifié à droite.

Si vous voulez l’inverse, utilisez ceci à la place.

cmd = meld "$REMOTE" "$LOCAL"

La partie prompt = false indique à Git de ne pas demander de confirmation pour l’outil de lancement, ce qu’il fait par défaut.

Nous pouvons exécuter la commande git difftool comme la commande git diff.

$ git difftool <BranchName> file_name

Configurer Meld comme Git par défaut Mergetool

Meld facilite également la résolution des conflits lors de la fusion grâce à leur interface graphique mergetool. Encore une fois, nous allons changer notre fichier .gitconfig pour configurer Meld comme mergetool pour Git.

Ajoutez les lignes ci-dessous à votre fichier .gitconfig.

[merge]
    tool = meld
[mergetool "meld"]
    # Choose one of these 2 lines
    cmd = meld "$LOCAL" "$MERGED" "$REMOTE" --output "$MERGED"
    cmd = meld "$LOCAL" "$BASE" "$REMOTE" --output "$MERGED"

Lorsque nous avons des conflits de fusion, nous pouvons utiliser Meld comme notre outil de fusion en exécutant la commande ci-dessous.

$ git mergetool

Examinons brièvement les paramètres ci-dessus.

  1. $LOCAL - Il s’agit du fichier dans notre branche extraite.
  2. $REMOTE - C’est le fichier de la branche que nous tentons de fusionner.
  3. $MERGED - C’est le fichier avec les conflits de fusion.
  4. $BASE - Il s’agit du fichier d’origine lorsque la branche contenant $REMOTE est créée.

$LOCAL et $REMOTE seront à gauche et à droite, selon votre ordre dans le cmd, et vous pouvez avoir $BASE ou $MERGED au milieu. Meld permet une vue à 3 voies, et nous devrions éditer le fichier du milieu pour résoudre les conflits.

Après l’édition, nous pouvons fermer le programme et Git mettra à jour le fichier automatiquement. À ce stade, nous sommes prêts à valider les modifications et à terminer la fusion.

Alternativement, nous pouvons exécuter certaines commandes sur le Bash pour mettre à jour notre fichier .gitconfig.

Pour les utilisateurs de Windows, exécutez ces commandes.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe"
$ git config --global mergetool.prompt false

Assurez-vous d’avoir fourni le bon chemin d’accès à votre fichier MELD.exe.

Les utilisateurs de Linux peuvent utiliser les commandes ci-dessous pour mettre à jour leur fichier .gitconfig.

$ git config --global diff.tool meld
$ git config --global difftool.meld.path "/usr/bin/meld"
$ git config --global difftool.prompt false

$ git config --global merge.tool meld
$ git config --global mergetool.meld.path "/usr/bin/meld"
$ git config --global mergetool.prompt false

Mettez à jour le code ci-dessus avec le chemin d’installation correct sur votre machine.

En un mot, les interfaces diff et merge originales de Git sont peu attrayantes. Cependant, nous pouvons configurer Git pour utiliser Meld comme interface graphique par défaut difftool et mergetool.

Tout ce que vous avez à faire est de mettre à jour votre fichier .gitconfig en suivant les étapes ci-dessus.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Article connexe - Git Diff