4

スクリプトから、現在の GIT_DIR を確認する方法は? オーバーライドされていない場合、それは単なるトップ レベルのディレクトリまたはベア リポジトリのトップ レベルのディレクトリです。

私は次のようなものが欲しい:

[/git/repo1/subdir]$ git show-git-dir
/git/repo1/.git
4

2 に答える 2

8

これはrev-parseで行うことができます:

git rev-parse --git-dir
于 2013-04-23T07:58:04.683 に答える
0

これは純粋な 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 のターミネーターでは動作します。

于 2013-04-23T08:11:36.253 に答える