macOS Catalina下Git调用Meld打开本地文件路径错误问题
macOS Catalina下Git Difftool调用Meld路径错误的解决办法
问题根源
通过open -a Meld启动工具时,Meld的默认工作目录会被设置为系统根目录/。而Git传递给$LOCAL、$REMOTE的是相对路径,Meld从根目录解析这些路径,自然找不到仓库里的目标文件。但通过GUI直接打开Meld时,工作目录是当前仓库路径,所以能正常定位文件。
修复方案
修改Git配置里的Meld调用命令,直接调用Meld的可执行文件,而非通过open命令传递参数:
- 打开你的Git配置文件(通常是
~/.gitconfig) - 将
[difftool "meld"]下的cmd行替换为:
cmd = /Applications/Meld.app/Contents/MacOS/Meld "$LOCAL" "$REMOTE"
如果Meld的可执行文件已加入系统PATH,也可以简化为:
cmd = meld "$LOCAL" "$REMOTE"
保存配置后,重新执行git difftool,Meld就能正确识别文件的实际路径了。
内容的提问来源于stack exchange,提问作者Skegg
相关产品推荐
相关产品推荐

