186 votes

Configuration de l'outil diff avec .gitconfig

Comment configurer Git pour qu'il utilise un outil différent pour la différenciation avec le fichier .gitconfig ?

J'ai ceci dans mon .gitconfig :

[diff]
    tool = git-chdiff #also tried /bin/git-chdiff

Cela ne fonctionne pas ; cela ouvre simplement le diff de la ligne de commande ordinaire. Lorsque je fais

export GIT_EXTERNAL_DIFF=git-chdiff

puis git diff ouvrira l'outil de diffing externe (je sais donc que l'outil de diffing externe script fonctionne bien). Y a-t-il un problème avec ma configuration .gitconfig pour l'outil de diff ?

19voto

moodboom Points 661

L'ajout de l'un des blocs ci-dessous fonctionne pour moi pour l'utiliser KDiff3 pour mes environnements de développement Windows et Linux. Il s'agit d'un outil de comparaison et de fusion multiplateforme cohérent et agréable.

Linux

[difftool "kdiff3"]
    path = /usr/bin/kdiff3
    trustExitCode = false
[difftool]
    prompt = false
[diff]
    tool = kdiff3
[mergetool "kdiff3"]
    path = /usr/bin/kdiff3
    trustExitCode = false
[mergetool]
    keepBackup = false
[merge]
    tool = kdiff3

Windows

[difftool "kdiff3"]
    path = C:/Progra~1/KDiff3/kdiff3.exe
    trustExitCode = false
[difftool]
    prompt = false
[diff]
    tool = kdiff3
[mergetool "kdiff3"]
    path = C:/Progra~1/KDiff3/kdiff3.exe
    trustExitCode = false
[mergetool]
    keepBackup = false
[merge]
    tool = kdiff3

5voto

Alexander Katz Points 39

Si vous voulez avoir la possibilité d'utiliser plusieurs outils de comparaison, ajoutez un alias au fichier .gitconfig :

[alias]
    kdiff = difftool --tool kdiff3

2voto

sudoz Points 1048

Consultez le site de Microsoft Conseils et astuces de VS Code . Il suffit d'exécuter ces commandes dans votre terminal :

git config --global merge.tool code

Mais tout d'abord, vous devez ajouter le code à votre variable d'environnement PATH.

Enter image description here

1voto

ILIASS BEN Points 51

La plupart des solutions proposées dans les réponses précédentes ne fonctionnent pas avec la version 2 de Git.

Mine : Version Git = 2.28.0

Solution du difftool : git config --global diff.tool vimdiff

Après cela, vous pouvez l'utiliser sans aucun problème.

0voto

Goyal Vicky Points 871

Sous Windows, nous devons exécuter le programme git difftool --tool-help pour voir les différentes options comme :

    'git difftool --tool=<tool>' may be set to one of the following:
                    vimdiff
                    vimdiff2
                    vimdiff3

    The following tools are valid, but not currently available:
                    araxis
                    bc
                    bc3
                    codecompare
                    deltawalker
                    diffmerge
                    diffuse
                    ecmerge
                    emerge
                    examdiff
                    gvimdiff
                    gvimdiff2
                    gvimdiff3
                    kdiff3
                    kompare
                    meld
                    opendiff
                    p4merge
                    tkdiff
                    winmerge
                    xxdiff

Some of the tools listed above only work in a windowed
environment. If run in a terminal-only session, they will fail.

Et nous pouvons ajouter n'importe lequel d'entre eux (par exemple, WinMerge ) comme

git difftool --tool=winmerge

Pour configurer Notepad++ pour voir les fichiers avant de s'engager :

 git config --global core.editor "'C:/Program Files/Notepad++/notepad++.exe' -multiInst -notabbar -nosession -noPlugin"

Et en utilisant git commit ouvrira les informations du commit dans Notepad++.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X