私は魚の皮を使用しました。場合によっては、複数のレベルの下にあるサブディレクトリのサブディレクトリにいる場合は、ディレクトリを使用して最も近い親ディレクトリに戻りたい場合があります。.git
なぜなら、このディレクトリは言えばルートプロジェクトディレクトリを表すからです。
たとえば、次のようなレイアウトがあるとします。
./
└── countries/
├── .git/
└── regions/
└── cities/
私がいる場所に関係なく、countries/
このcountries/regions/
コマンドcountries/regions/cities/
を使用してディレクトリをに変更したいと思いますcountries/
。なぜならが含まれているからです.git
。
Fishでこれをどのように実行しますか?
ベストアンサー1
git rev-parse
CDに引数を印刷する "--show-cdup"オプションがあります。
set -l cd (git rev-parse --show-cdup 2>/dev/null); and cd $cd
これは2>/dev/null
「gitリポジトリではありません」というエラーを排除し、この場合はfalseを返すため、git rev-parse --show-cdup
gitリポジトリの外部で使用すると何もしません。cd
またはを使用することもできますgit rev-parse --show-toplevel
。私はこれが--show-cdup
起こると合理的に確信しています。物理したがって、シンボリックリンクを介してgitリポジトリに入ると、誤った答えが印刷される可能性があります。