首页 > 解决方案 > Visual Studio 2017:通过代码比较替换 vsdiffmerge 不起作用

问题描述

我试图用“代码比较”替换 Visual Studio difftoo“vsdiffmerge”。为此,我在 c:\users\heckner.gitconfig 中替换了对 vsdiffmerge 的引用以进行代码比较,例如

[core]
    autocrlf = true
[user]
    name = My Name
    email = my.name@domain.com
[diff]
    tool = vsdiffmerge
[difftool]
    prompt = true
[difftool "vsdiffmerge"]
    cmd = \"C:\\Program Files\\Devart\\Code Compare\\CodeCompare.exe\" \"$LOCAL\" \"$REMOTE\" 
    keepBackup = false
[merge]
    tool = vsdiffmerge
[mergetool]
    prompt = true
[mergetool "vsdiffmerge"]
    cmd = \"C:\\Program Files\\Devart\\Code Compare\\CodeCompare.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m

    keepBackup = false
    trustExitCode = true

但是当我双击团队资源管理器中的更改时,Visual Studio 仍然使用 vsdiffmerge。当我在我的仓库中发布 cmd shell 时,我看到上面的更改适用。当我在 .gitconfig 文件中更改名称时,更改后的名称会显示在 Visual Studio 中的全局设置下:

在此处输入图像描述

任何人都可以帮助我吗?

标签: visual-studio-2017

解决方案


也许你有一个覆盖全局的本地git 配置文件。

例如,我错误地点击了“使用 Visual Studio”:Git 存储库设置

而且我不能再使用代码比较了。但我在代码比较网站上找到了这个:

注意:全局 gitconfig 文件位于 C:\Users\MyLogin.gitconfig。本地存储库的配置文件位于“.git”文件夹的存储库根目录中(该文件夹默认隐藏)。

所以要解决这个问题,我必须编辑位于项目根目录中的.git/config文件,该文件覆盖了全局配置。


推荐阅读