ドキュメントとここでのさまざまな回答によると、git difftoolは、ファイルパスに設定された環境変数LOCALおよびREMOTEを使用して、指定された実行可能ファイル(通常はシェルスクリプト)を呼び出します。しかし、試してみると、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>
出力:
LOCAL: REMOTE:
助言がありますか?