バックグラウンドでcdコマンドを実行した後にgit fetchを実行し、gitディレクトリにあるときにのみ実行する必要があります。
ベストアンサー1
これは3つの部分に分けられます。
- 現在のディレクトリを変更するには、いくつかのコードを実行してください。 zshに次のコードを入れます。
chpwd
機能、または配列内の異なる名前を持つ関数chpwd_functions
(はい)。バラよりディレクトリに入るときにbashスクリプトを実行するbashの実装のため。 - Git 作業コピーを検出します。あなたはgitだけに興味があるので、君は走れるよ
git rev-parse --show-toplevel
。他のバージョン管理システムに興味がある場合は、バージョン管理を検出できる高度なフレームワークがあります。 - ランニング
git fetch
。
これはgitリポジトリに変更したときにchpwd
実行される実装です。git fetch
chpwd () {
set -- "$(git rev-parse --show-toplevel 2>/dev/null)"
# If cd'ing into a git working copy and not within the same working copy
if [ -n "$1" ] && [ "$1" != "$vc_root" ]; then
vc_root="$1"
git fetch
fi
}
chpwd
このコードはシェル起動スクリプトにあります。zsh.zshrc
の場合、.bashrc
bashの場合(bashでも必要)chpwd
ディレクトリ変更呼び出し用のラッパー)。