git - 如何告诉Visual Studio将WinMerge与Git一起使用?

原文 标签 git visual-studio winmerge

我将Git与VS2017 Enterprise一起使用,如果我在“更改”中右键单击一个文件,然后选择“与未修改的比较”,则会使用VS diff工具在VS中的新窗口中打开它。

我想改用WinMerge,并且一直在查看诸如this(Be​​yondCompare的指令,但原理应该相同),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我需要做什么吗?


Windows 7 Pro 64位
Visual Studio 2017企业版4.7.03062
WinMerge 2.14.0.0
Git 2.21.0

最佳答案

你的问题是...

/c/Program\\ Files\\ \\(x86\\)/WinMerge/WinMergeU.exe


...是错误的路径。如果您查看第一个代码段,将看到正确的路径,但是该路径被项目的配置文件覆盖。

如果您更改第二个代码段中的路径,或者(最好还是删除)整个部分,因为它仅重复了第一个代码段中的内容,那么您应该会发现它可以工作。

相关文章:

github-for-windows - 如何在“ Github Windows版”中使用WinMerge

php - 用PHP突出显示非常大的文件之间的差异

git - 确定最新收到的git标签

python - 安装时将git hash嵌入python文件

c++ - 在Visual Studio中使用Xtensor时出现尖括号<>问题

asp.net - 在属性窗口中不显示dropdownlist事件asp.net Visual Studio 2010

git - Hudson无限循环轮询Git存储库中的更改?

git - 如何复制提交?

visual-studio - 如何在Visual Studio 2013中升级NuGet