エイリアスのGitコンプリートは、「git reflog」を実行した後にのみ使用できます。

エイリアスのGitコンプリートは、「git reflog」を実行した後にのみ使用できます。

次のようにgitにオートコンプリートしたいエイリアスがあります:

alias gco="git checkout"

このエイリアスの補完を追加しようとするときは、パスを見て、利用可能なgit補完がいくつかあることを確認してください(例えば、、、_git-push)。かつて私はそれをそう定義したことがない。_git-checkout_git-diff-filescompdef

compdef _git-checkout gco

これはしばらく効果があり、ターミナルを再起動しましたが、突然すべて消えました...(完了のエラーは発生しません):

gco (eval):1: command not found: _git-checkout
(eval):1: command not found: _git-checkout
(eval):1: command not found: _git-checkout

奇妙なことに、私が走った後、それらの人々はすべて私の前に投げられましたgit reflog。 (その後、動作します)。ここでは依存してはいけない内部機能に依存していますか?この問題を別の方法で処理する必要がありますか? (git reflog私のにaを追加することもできますが、.zshrcこれは完全にとんでもないようです)。

ベストアンサー1

おすすめ記事