首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git difftool问题:未设置本地和远程变量

git difftool问题:未设置本地和远程变量
EN

Stack Overflow用户
提问于 2009-12-19 03:43:41
回答 2查看 840关注 0票数 1

根据doc和这里的各种答案,git difftool将调用指定的可执行文件(通常是shell脚本),并将环境变量LOCAL和REMOTE设置为文件路径。但是当我尝试的时候,没有设置LOCAL和REMOTE。我尝试过以下测试:

代码语言:javascript
复制
git config --global diff.tool mytest  
git config --global difftool.mytest.cmd mytest.sh  
git config --global difftool.prompt false  

使用mytest.sh:

代码语言:javascript
复制
#!/bin/sh  
echo "LOCAL:$LOCAL REMOTE:$REMOTE"  

调用:

代码语言:javascript
复制
git difftool --tool mytest <commitid> -- <path-to-file>  

输出:

代码语言:javascript
复制
LOCAL: REMOTE:  

有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-12-19 04:44:35

手册页的意思是,difftool..cmd的命令行中可以包含$LOCAL$REMOTE。这些将被替换为相关的文件路径。并不打算将这些变量导出到您的环境中。

为了通过示例进行演示,这里是原始设置的重新工作版本。

代码语言:javascript
复制
git config --global diff.tool mytest  
git config --global difftool.mytest.cmd 'mytest.sh $LOCAL $REMOTE'
git config --global difftool.prompt false
票数 4
EN

Stack Overflow用户

发布于 2009-12-19 03:49:49

这是我一直使用的diff包装器(使用tkdiff):

代码语言:javascript
复制
#!/bin/sh

# diff is called with 7 parameters:
# path old-file old-hex old-mode new-file new-hex new-mode

tkdiff "$2" "$5"

它使用参数而不是$LOCAL$REMOTE

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1930298

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档