git - 我不能让 git diff 使用 opendiff

标签 git git-diff opendiff

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

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

在 .gitconfig 中设置:

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

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

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

最佳答案

我在尝试将 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

而且有效!

关于git - 我不能让 git diff 使用 opendiff,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6353604/

相关文章:

xcode - 本地存储库已过时

GIT 推送错误 - 重复请求

git - 我怎样才能将 git-diff 限制在一个没有子目录的目录中?

git - git diff 中的 --oneline 有何作用?

git log 显示两个分支之间的不同提交,包括共同祖先

git - opendiff 或其他 merge 工具通过 ssh 与远程机器的 Git 对话

macos - 删除 'credential-osxkeychain'

linux - git 显示 Mac NFS 文件系统上更改的随机文件