我添加了这个~/.gitconfig
:
[diff]
external = mvimdiff
[difftool]
prompt = false
并制作了 755 /bin/mvimdiff
:
#!/bin/sh
mvim -d "$2" "$5"
为了调用 MacVim 作为我的 git diff 工具。但是当我git diff
在 git 文件夹中运行命令时,它仍然将结果从正常输出diff
到 shell。根本没有 MacVim。我确定没有.git/config
覆盖.gitconfig
,并且我尝试重新启动计算机以刷新。为什么配置不起作用?
谢谢。
答案1
您可能最好使用git difftool
来调用“交互式”差异工具。例如:
使内置gvimdiff
工具适应于mvim
:
git config --global diff.tool gvimdiff
git config --global difftool.gvimdiff.path mvim
或者mvimdiff
从头开始配置:
git config --global diff.tool mvimdiff
git config --global difftool.mvimdiff.cmd 'mvim -f -d "$LOCAL" "$REMOTE"'
然后运行git difftool
查看每个不同的文件MacVim。
如果你真的想git diff
使用MacVim,那么你可以像这样配置它(不需要任何外部脚本文件):
git config diff.external 'd() { mvim -f -d "$2" "$5"; }; d'
无论哪种方式,您都需要确保适当的文件mvim
在您的 PATH 中。此外,您需要使用选项-f
(“不分叉”/“在前台运行”),否则git diff
可能会在执行之前删除临时文件MacVim有机会读取它们(每次调用至少有一个文件是临时文件)。