如何在Visual Studio 2013中为Git使用外部差异工具?

dea*_*dog 5 git diff visual-studio visual-studio-2013

我发现这篇文章解释了在比较Git中的文件时如何让Visual Studio 2013使用内置差异工具,但我遇到了相反的问题.现在,当我右键单击Git Commit Details窗口中的文件并选择Compare With Previous...VS在默认的Visual Studio 2013比较工具中执行diff时,我希望它使用外部差异工具,特别是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
Run Code Online (Sandbox Code Playgroud)

我还检查了我的本地存储库的.gitconfig以确保它没有覆盖此设置,并且它没有指定任何diff或difftool设置.

我也在我的.gitconfig中尝试过类似的设置:

[diff]
    guitool = TortoiseMerge
[difftool "TortoiseMerge"]
    cmd = \"C:/Program Files/TortoiseSVN/bin/TortoiseMerge.exe\" /base:"$REMOTE" /local:"$MINE"
Run Code Online (Sandbox Code Playgroud)

但行为不会改变.

Edw*_*son 6

Visual Studio使用diff.tool配置设置,而不是diff.guitool配置设置.

尝试:

[diff]
    tool = TortoiseMerge
Run Code Online (Sandbox Code Playgroud)