スクリプトから、現在の GIT_DIR を確認する方法は? オーバーライドされていない場合、それは単なるトップ レベルのディレクトリまたはベア リポジトリのトップ レベルのディレクトリです。
私は次のようなものが欲しい:
[/git/repo1/subdir]$ git show-git-dir
/git/repo1/.git
スクリプトから、現在の GIT_DIR を確認する方法は? オーバーライドされていない場合、それは単なるトップ レベルのディレクトリまたはベア リポジトリのトップ レベルのディレクトリです。
私は次のようなものが欲しい:
[/git/repo1/subdir]$ git show-git-dir
/git/repo1/.git
これはrev-parseで行うことができます:
git rev-parse --git-dir
これは純粋な bash バージョンで、ルートにいるときにディレクトリが見つかります。(ちなみに、Ikkeのソリューションの方が優れています)。
a=$PWD
while [ "$a" != "" ] && [ "$a" != '/' ];
do
a=`dirname $a`;
if [ -d $a/.git ];
then
echo "$a";
break;
fi
done
Windowsでは、おそらく別の [ "$a" != '\' ] を追加してそのケースをテストする必要があります.Msysgitに付属のbashシェルが「dirname」をサポートしているかどうかを確認するには、現時点ではアクセスできません.
ただし、Ubuntu のターミネーターでは動作します。