使用.gitconfig配置diff工具?

如何配置git以使用不同的工具来与.gitconfig文件进行区分。 我有这在我的.gitconfig:

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

它不起作用,它只是打开常规命令行差异。 当我做

export GIT_EXTERNAL_DIFF=git-chdiff

那么git diff会打开外部差异工具(所以我知道外部差异工具脚本工作正常)。 diff文件的.gitconfig配置有问题吗?


Git提供了一系列预配置的“开箱即用”(kdiff3,kompare,tkdiff,meld,xxdiff,emerge,vimdiff,gvimdiff,ecmerge,diffuse,opendiff,p4merge和araxis),还可以让您指定你自己的。 要使用预配置的difftools之一(例如,“vimdiff”),可以将以下几行添加到~/.gitconfig

[diff]
    tool = vimdiff

另一方面,指定您自己的difftool需要更多的工作,请参阅如何使用visual diff程序查看“git diff”输出?


其他方法(从命令行):

git config --global diff.tool tkdiff
git config --global merge.tool tkdiff
git config --global --add difftool.prompt false

前两行将difftool和mergetool设置为tkdiff - 根据您的偏好进行更改。 第三行禁用恼人的提示,所以无论何时你点击git difftool它都会自动启动difftool。


其他人对此做出了99%的回答,但还有一个步骤被遗漏了。 (我的答案将来自OSX,因此您将不得不相应地更改文件路径)

您对~/.gitconfig进行这些更改:

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = /Applications/Diffmerge.app/Contents/MacOS/diffmerge $LOCAL $REMOTE

这将修复diff工具。 您也可以通过从终端输入以下命令直接编辑~/.gitconfig来修复此问题:

git config --global diff.tool diffmerge
git config --global difftool.diffmerge.cmd "/Applications/DiffMerge.appContents/MacOS/diffmerge $LOCAL $REMOTE"

其他人都没有提及的1%是使用这个时你不能运行git diff myfile.txt你需要运行git difftool myfile.txt

链接地址: http://www.djcxy.com/p/50891.html

上一篇: Configuring diff tool with .gitconfig?

下一篇: How to diff a commit with its parent?