在Visual Studio 2015中将WinMerge设置为差异/合并工具

时间:2015-12-09 12:39:29

标签: git visual-studio-2015 winmerge

我想在VS 2015中将WinMerge设置为默认差异工具,我无法全局完成。我需要编辑我的本地([solution dir] / .git / config)文件,它工作得很好,但是当我尝试全局编辑文件([用户文件夹] / .gitconfig)时,它在VS 2015中不起作用(使用标准的VS diff工具)。 每次我向Git添加新的解决方案时都应用这些设置有点烦人。

这是我的配置

[diff]
tool = winmerge
[difftool]
prompt = true
[difftool "winmerge"]
path = d:\\WinMerge\\winmergeu.exe
cmd = \"d:\\WinMerge\\WinMergeU.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
tool = winmerge
[mergetool]
prompt = true
[mergetool "winmerge"]
path = d:\\WinMerge\\winmergeu.exe
cmd = \"d:\\WinMerge\\winmergeu.exe\" -u -e -dl \"Local\" -dr \"Remote\" $LOCAL $REMOTE $MERGED

3 个答案:

答案 0 :(得分:13)

我的路径上有VS2015 SP1和WinMerge,我的解决方案.git / config和.gitconfig中的以下内容(在C:\ users \ username下)中没有设置,它正在工作:

[diff]
    tool = winmerge
[difftool "winmerge"]
    cmd = winmergeu.exe -e -ub -x -wl -u -maximise -dl "base" -dr "mine" \"$LOCAL\" \"$REMOTE\"

答案 1 :(得分:1)

除了@gezzahead所说的(并且我添加了一个guitool条目只是为了好的措施),我发现我所在的域策略创建了两个“home”目录,因此创建了两个.gitconfigs - a) Windows默认为C:\ users \ jsmith \ .gitconfig和H:\ .gitconfig(我的H:驱动器是IT称为“主文件夹”的映射驱动器)。

在使用下面的内容创建符号链接后(您需要编辑它),Visual Studio启动了WinMerge。

mklink H:\.gitconfig C:\users\jsmith\.gitconfig

为了完整起见,我运行的是Win10 x64,VS 2015更新2,以下是我的配置列表(略有删失)

PS> git config --global --list
user.name=John Smith
user.email=jsmith@example.com
diff.tool=winmerge
diff.guitool=winmerge
difftool.winmerge.path=c:/Program Files (x86)/winmerge/winmergeu.exe
difftool.winmerge.cmd=winmergeu.exe /e /x /u /wl /maximize -dl base -dr mine "$LOCAL" "$REMOTE"

答案 2 :(得分:-1)

.gitconfig的解决方案充当了魔法(VS 2015)。但是,Windows资源管理器拒绝将文件重命名为.gitconfig。我使用命令提示符重命名。

ren aaa ".gitconfig"

不需要重新启动Visual Studio。