我在 VS2017 Enterprise 中使用 Git,如果我在 Changes 中右键单击一个文件并选择“与未修改的比较”,它将使用 VS diff 工具在 VS 的新窗口中打开。
我想改用 WinMerge,并一直在查看诸如 this 之类的资源。 (BeyondCompare的说明,但原理应该是一样的),this (GitExtensions 同上)和 this ,但无法让它工作。无论我做什么,我仍然可以在 VS 中获得 VS diff 工具。
我的用户文件夹中的 .gitconfig 文件看起来像这样......
[user]
name = Me
email = myemail@somewhere.jim
[core]
autocrlf = true
[diff]
tool = winmerge
[difftool "winmerge"]
cmd = "'C:/Program Files (x86)/WinMerge/WinMergeU.exe'" -e "$LOCAL" "$REMOTE"
...我的项目文件夹中的 .git/config 文件看起来像这样(敏感信息已更改)...
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[user]
[diff]
tool = winmerge
[difftool]
prompt = true
[difftool "winmerge"]
cmd = "/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe" -u -e $LOCAL $REMOTE
keepBackup = false
[merge]
tool = vsdiffmerge
[mergetool]
prompt = true
[remote "origin"]
url = https://me@dev.azure.com/me/Project/_git/Project
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[gui]
wmstate = normal
geometry = 1346x938+75+75 445 196
任何人都可以告诉我使用 WinMerge 需要做什么?
最佳答案
你的问题是...
/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe
...是错误的路径。如果你查看你的第一个代码片段,你会看到正确的路径,但是这被项目的配置文件覆盖。
如果您更改第二个片段中的路径,或者(更好)删除整个部分,因为它只复制第一个片段中的内容,那么您应该会发现它会起作用。
关于git - 如何告诉 Visual Studio 将 WinMerge 与 Git 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56064594/