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

git difftool问题:未设置本地、远程变量,git,difftool,Git,Difftool,根据doc和这里的各种回答,git difftool将调用指定的可执行文件,通常是一个shell脚本,环境变量LOCAL和REMOTE设置为文件路径。但是当我尝试时,本地和远程都没有设置。我尝试了以下测试: git config --global diff.tool mytest git config --global difftool.mytest.cmd mytest.sh git config --global difftool.prompt false 使用mytest.s

根据doc和这里的各种回答,git difftool将调用指定的可执行文件,通常是一个shell脚本,环境变量LOCAL和REMOTE设置为文件路径。但是当我尝试时,本地和远程都没有设置。我尝试了以下测试:

git config --global diff.tool mytest  
git config --global difftool.mytest.cmd mytest.sh  
git config --global difftool.prompt false  
使用mytest.sh:

#!/bin/sh  
echo "LOCAL:$LOCAL REMOTE:$REMOTE"  
援引:

git difftool --tool mytest <commitid> -- <path-to-file>  

有什么建议吗?

这是我一直在tkdiff中使用的差异包装:

#!/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。

这是我一直在tkdiff中使用的差异包装:

#!/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。

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

为了用一个例子来演示,这里有一个原始设置的重新工作版本

git config --global diff.tool mytest  
git config --global difftool.mytest.cmd 'mytest.sh $LOCAL $REMOTE'
git config --global difftool.prompt false

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

为了用一个例子来演示,这里有一个原始设置的重新工作版本

git config --global diff.tool mytest  
git config --global difftool.mytest.cmd 'mytest.sh $LOCAL $REMOTE'
git config --global difftool.prompt false

我已经试过了,1美元,2美元等也没有设置。无论如何,从文档中可以看出,调用是用于配置了外部工具的git diff,而不是git DiffTool。我尝试过,$1、$2等也没有设置。无论如何,从文档中可以看出,调用用于使用外部工具配置的git diff,而不是git difftool