5

我正在努力让 git 运行 Beyond Compare 作为我的 difftool。

我正在使用“Git For Windows”、Windows 7 32 位和 Beyond Compare 4

$ git --version
git version 1.9.5.msysgit.1
$ git config --list

[diff]
tool = bc3

[difftool "bc3"]
path = c:/Program Files/Beyond Compare 4/bcomp.exe

[merge]
tool = bc3

[mergetool "bc3"]
path = c:/Program Files/Beyond Compare 4/bcomp.exe

现在我在这里和那里阅读了其他问题,并按照以下说明进行操作:

  • 用其他名称更改“bc3”,即“abc3”或“beyondcompare”
  • 命令: git difftool --tool=bc3 MyFile.java
  • 将 .gitconfig 中的 'bc3' 路径更改为 'c:\Program Files\Beyond Compare 4\bcomp.exe'
  • 将 $LOCAL $REMOTE 添加到路径

我意识到它总是启动默认的差异控制台查看器/工具(如果我没记错的话,vimdiff)尽管将上述参数'--tool=bc3'或'--tool=anyname'传递给' git difftool' 命令。

最后,它只适用于 'git mergetool' ,在这种情况下,启动了无法比较,并且您可以看到参数是相同的。

如果我忘记了什么或需要更多详细信息,请告诉我谢谢

“当我输入命令 git difftool”

图片

4

3 回答 3

2

要将 Beyond Compare 4 配置为 Git for Windows 1.9.5 中的外部差异工具,请按照 Scooter Software 的使用 Beyond Compare 与版本控制系统页面上的说明进行操作。

遵循配置说明后,要在 Beyond Compare 中比较文件:

git difftool filename.ext

如果这仍然不起作用,请验证您的c:\users\username\.gitconfig文件中的设置是否正确:

[diff]
    tool = bc3
[difftool "bc3"]
    path = c:/program files/beyond compare 4/bcomp.exe
[merge]
    tool = bc3
[mergetool "bc3"]
    path = c:/program files/beyond compare 4/bcomp.exe

如果仍然无法解决问题,请确保您在.git\config覆盖全局设置时没有特定于存储库的设置。

于 2015-07-14T22:20:38.243 回答
0

Write cohfig format always changes. This works for Windows 10, VS 2019, Git 2.25

[merge]
    tool = BeyondCompare4
[diff]
    guitool = beyondcompare4
    tool = beyondcompare4
[core]
    autocrlf = false
    editor = \"C:\\Program Files\\Microsoft VS Code\\Code.exe\" --wait
[difftool "beyondcompare4"]
    path = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\"
    cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" \"$LOCAL\" \"$REMOTE\"
    keepBackup = false
[mergetool "BeyondCompare4"]
    path = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\"
    cmd = \"C:\\Program Files\\Beyond Compare 4\\bcomp.exe\" \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
于 2020-03-15T14:22:10.607 回答
0

你的git config --list输出很奇怪。我的有名称-值对,没有节标题(省略了不相关的属性):

diff.tool=bc3
difftool.bc3.path=c:/Program Files (x86)/Beyond Compare 3/bcomp.exe
merge.tool=bc3
mergetool.bc3.path=c:/Program Files (x86)/Beyond Compare 3/bcomp.exe

对我来说,Beyond Compare 3 可以正常工作git difftool <filename>,没有奇怪的选项。Beyond Compare 4 非常相似。

我的git版本几乎一样

git --version
git version 1.9.5.msysgit.0

也许您为另一个存储库设置了选项;如果git difftool想出diff -cc你肯定没有将 Beyond Compare 配置为默认的 diff 工具。或者,也许你bcomp.exe正在行动。

于 2015-07-10T07:13:52.353 回答