7

我想使用 vsdiffmerge 作为 git diff 工具。我设置了.git/config以下。

[diff]
    tool = vsdiffmerge
[difftool]
      prompt = true
[difftool "vsdiffmerge"]
      cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsDiffMerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
      keepbackup = false
      trustexistcode = true
[merge]
      tool = vsdiffmerge
[mergetool]
      prompt = true
[mergetool "vsdiffmerge"]
      cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Enterprise\\Common7\\IDE\\CommonExtensions\\Microsoft\\TeamFoundation\\Team Explorer\\vsDiffMerge.exe\" \"$LOCAL\" \"$REMOTE\" //t //m
      keepbackup = false
      trustexistcode = true

我发现它有时可以很好地工作,但它会打开一个新的 VisualStudio 并且不显示差异选项卡。我尝试删除//t但没有帮助。

我想问两个问题:

  1. 如何让 vsdiffmerge 在打开的 VisualStudio 中打开 diff 选项卡?

  2. 一旦我不想将所有文件输入到y. 我看到我应该按 133 的文件数是 133 y

4

1 回答 1

1

difftool 和 mergetool 的命令应该有点不同:

尝试这个:

  • Difftool 命令:/t "$LOCAL" "$REMOTE"

  • 合并工具命令:/m /t "$LOCAL" "$REMOTE" "$BASE" "$MERGED"

这是 Visual Studio 2019 的示例,但对于 Visual Studion 2017 应该类似:

difftool.vsdiffmerge.path=C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsDiffMerge.exe
difftool.vsdiffmerge.cmd=/t "$LOCAL" "$REMOTE"
mergetool.vsdiffmerge.path=C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/Common7/IDE/CommonExtensions/Microsoft/TeamFoundation/Team Explorer/vsDiffMerge.exe
mergetool.vsdiffmerge.cmd=/m /t "$LOCAL" "$REMOTE" "$BASE" "$MERGED"

我从 GitExtensions 使用/午餐,但它应该与其他 git 客户端应用程序非常相似。

于 2020-01-09T10:06:02.637 回答