7

我想使用 opendiff 作为 git diff 的默认差异工具。这曾经有效,但由于某种原因停止工作。我正在使用一个脚本:

echo opendiff $2 $5 > opendiff-git.sh

在 .gitconfig 中设置:

[diff]
external = ~/opendiff-git.sh

这最近对我不起作用。怎么了?

更新:当我克隆一个新的存储库时,一切正常!奇怪的!

4

3 回答 3

2

确保您的opendiff-git.sh文件设置了可执行位:

chmod +x ~/opendiff-git.sh
于 2011-06-15T06:41:29.773 回答
2

我在尝试将 opendiff 设置为我的 git diff & merge 工具时发现了这个问题。奇怪的是,当我使用 echo opendiff $2 $5 > opendiff-git.sh 创建脚本时,该脚本不包含参数占位符 $2 $5 我手动添加它们并开始工作!

这个命令

echo opendiff $2 $5 > opendiff-git.sh

导致 opendiff-git.sh 文件包含

opendiff

我手动添加了两个参数占位符 $2 $5

opendiff $2 $5

按照 knittl 的建议使 shell 脚本可执行

chmod +x ~/opendiff-git.sh

它有效!

于 2012-03-28T09:14:34.593 回答
1

您现在可以使用 指定默认工具git config。要使用 FileMerge,即opendiff运行:

git config --global diff.tool opendiff

如果您查看~/.gitconfig文件,您现在应该看到:

[diff]
    tool = opendiff

它现在应该可以工作了。

于 2013-10-24T01:19:14.623 回答