使用Git插件时,Visual Studio中的diff工具是什么?

24

微软已经发布了适用于Visual Studio 2012的Git插件我认为它非常好用,但是貌似没有选项可以更改默认的Diff工具。更糟糕的是,在ascx代码后台文件上无法进行任何diff操作。它只在主要的.ASCX文件中显示了一个diff选项。

如何

  1. 在使用git插件时,对代码后台文件进行diff操作?
  2. 更改diff工具?
2个回答

35

你需要修改本地的 .gitconfig 文件,而不是像使用 TFS 时通过 Visual Studio 进行更改。

https://gist.github.com/mkchandler/2377564

Add the following to your global .gitconfig file:

[diff]
    tool = diffmerge
[difftool "diffmerge"]
    cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" \"$LOCAL\" \"$REMOTE\"
[merge]
    tool = diffmerge
[mergetool "diffmerge"]
    cmd = \"C:\\Program Files\\SourceGear\\Common\\DiffMerge\\sgdm.exe\" -merge -result=\"$PWD/$MERGED\" \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\"
    trustExitCode = true
[mergetool]
    keepBackup = false

1
+1 完美!这正是我在寻找的。看,它现在也可以从命令行打开了! - eduncan911
3
.gitconfig文件位于用户/[用户名]/根目录中,如提供的链接所述。 - PBo

15

步骤:

  1. 安装WinMerge并勾选选项"将WinMerge添加到您的PATH环境变量"。

  2. 在Visual Studio 2013中应安装Microsoft GIT提供程序插件。

  3. 进入用户git配置,通常在C:\Users\USERNAME\.gitconfig中。

  4. 添加以下行或根据.gitconfig内的参数进行更新。

**

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

现在,如果你在 Visual Studio 中对文件执行 "与未修改内容进行比较..." 操作,WinMerge 应该会自动打开。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接