我想使用opendiff作为git diff的默认diff工具。这曾经工作但由于某种原因停止工作。 我正在使用脚本:
echo opendiff $2 $5 > opendiff-git.sh
在.gitconfig中设置:
[diff]
external = ~/opendiff-git.sh
这最近停止了我的工作。有什么问题?
更新: 当我克隆一个新的存储库时,一切正常!奇怪!
答案 0 :(得分:2)
确保您的opendiff-git.sh
文件设置了可执行位:
chmod +x ~/opendiff-git.sh
答案 1 :(得分:2)
当我试图将opendiff设为我的git diff&时,我发现了这个问题。合并工具。 奇怪的是,当我使用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
它有效!
答案 2 :(得分:1)
您现在可以使用git config
指定默认工具。要使用FileMerge,即opendiff
,请运行:
git config --global diff.tool opendiff
如果您查看了~/.gitconfig
文件,现在应该看到:
[diff]
tool = opendiff
现在应该可以了。