我正在尝试将git的新目录(从git 1.7.11开始)与超越工具3一起用作difftool,但是没有创建临时文件。

例如:
git difftool --dir-diff <branch1> <branch2>
“超出比较”将打开目录比较,列出正确的目录和更改的文件。

但是,当我单击任何文件时,出现以下错误:
Unable to load C:\Users\<username>\AppData\Local\Temp\git-difftool.yG8V5\left\<path to some file>: The system cannot find the path specified
因此,我检查C:\Users\<username>\AppData\Local\Temp\git-difftool.yG8V5目录是否存在,并且不存在。

Beyond Compare 3可以很好地用作非目录差异和合并的差异工具。

我正在Windows上使用git(msysgit)1.8.0。

以下是相关的.gitconfig设置:

# External Visual Diff/Merge Tool
[diff]
    tool = bc3

[difftool "bc3"]
    path = "C:/Program Files (x86)/Beyond Compare 3/BComp.exe"

[merge]
    tool = bc3

[mergetool "bc3"]
    keepTemporaries = false
    trustExitCode = true
    keepBackup = false
    path = "C:/Program Files (x86)/Beyond Compare 3/BComp.exe"

最佳答案

有一个描述here的解决方案。基本上,如果您修改.gitconfig以使用BCompare.exe而不是BComp.exe,则控制台 session 将保持打开状态,直到关闭“超越比较”窗口为止。

修改您的.gitconfig设置为:

# External Visual Diff/Merge Tool
[diff]
    tool = bc3

[difftool "bc3"]
    path = "C:/Program Files (x86)/Beyond Compare 3/BCompare.exe"

07-24 12:39