我找到了这篇文章,其中解释了如何让Visual Studio 2013在Git中比较文件时使用内置的差异工具,但我现在遇到了相反的问题。现在,当我右键单击Git“提交详细信息”窗口中的文件并选择“与上一版本比较...”时,VS会在默认的Visual Studio 2013比较工具中执行差异操作,但我希望它使用一个外部的差异工具,特别是TortoiseMerge.exe。我已经在C:\Users\[我的用户名]\.gitconfig中指定了它,并且在GitBash控制台中它能正常运行,但Visual Studio忽略了这个设置并始终使用其内置工具。
但是行为没有改变。
以下是我在.gitconfig文件中的设置:
[merge]
tool = kdiff3
[mergetool "kdiff3"]
path = c:/Program Files (x86)/KDiff3/kdiff3.exe
[diff]
guitool = TortoiseMerge
[difftool "TortoiseMerge"]
path = C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe
我还检查了本地仓库的.gitconfig文件,确保它没有覆盖这个设置,但它并没有指定任何diff或difftool设置。
我也尝试在我的.gitconfig文件中使用类似的设置:
[diff]
guitool = TortoiseMerge
[difftool "TortoiseMerge"]
cmd = \"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" /base:"$REMOTE" /local:"$MINE"
但是行为没有改变。
kdiff
和TortoiseMerge
重新安装到一个新目录,以便文件路径中没有空格,而不是Program Files
文件夹。 - Anshul Goyal