我想在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
答案 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。