我已经成功让 git 启动 Beyond Compare 3 作为 diff 工具,但是,当我进行 diff 时,我正在比较的文件没有被加载。仅加载文件的最新版本,没有其他内容,因此 Beyond Compare 右侧窗格中没有任何内容。
我正在使用带有 Beyond Compare 3 的 Cygwin 运行 git 1.6.3.1。我已经按照他们在其网站的支持部分中建议的那样使用如下脚本进行了设置:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"path_to_bc3_executable" "$2" "$5" | cat
有没有其他人遇到过这个问题并知道解决方案?
编辑:
我遵循了 VonC 的建议,但我仍然遇到与以前完全相同的问题。我对 Git 有点陌生,所以也许我没有正确使用差异。
例如,我正在尝试使用以下命令查看文件的差异:
git diff main.css
Beyond Compare 将打开并仅在左窗格中显示我当前的 main.css,右窗格中没有任何内容。与 HEAD 相比,我希望在左窗格中查看我当前的 main.css,基本上是我上次提交的内容。
我的 git-diff-wrapper.sh 看起来像这样:
#!/bin/sh
# diff is called by git with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode
"c:/Program Files/Beyond Compare 3/BCompare.exe" "$2" "$5" | cat
对于 Diff,我的 git 配置看起来像这样:
[diff]
external = c:/cygwin/bin/git-diff-wrapper.sh