古いアイテムや古いアイテムを表示するgitブランチのタブを完成

古いアイテムや古いアイテムを表示するgitブランチのタブを完成

私は一種のフランケンシュタインストレッチ/シードを使用しています(最も良いアイデアではありませんが、すぐに再インストールする予定です)。

タブ補完は、git repoディレクトリのgit分岐名に対して機能します。

:~/project $ git checkout <TAB><TAB>
Display all 200 possibilities? (y or n)

:~/project $ git checkout private-rl_<TAB><TAB>
private-rl_1219_misspelled_locale_zhtw   private-rl_1950_scheduler_offset         private-rl_bootstrap_rake_tasks
private-rl_1854_ldap_filter_reset        private-rl_bootstrap_rake_task

しかし、ここに示されたいくつかの分岐はもはや存在しない。

:~/project $ git branch
* develop
  private-rl_1219_misspelled_locale_zhtw
  stable

次のような場合でもこれが発生します。離れてナス。

ここで何が起こっているのでしょうか? gitコンプリートスクリプトは、何らかの方法で更新できる前の四半期のキャッシュを保持しますか?タブ完成の結果にこれらの分岐が蓄積するのを防ぐ方法は?

答え1

@PatrickMevzekの柔らかいおかげで、私はそれを見つけました。

私が見る枝は事実削除されたリモートブランチへの参照。上記のリンクされたSOスレッドで最高の答えを引用するには、

$ git remote prune origin

私のために修正されました。

答え2

設定によっては、古いまたは削除されたブランチのように見える別のソースがあります。 gitの完了でもこれを提案できます。商標枝と一緒に。

私は最近これにだまされました。 CI/CD パイプラインがすべてのビルドにタグを付け、数年前に一部のブランチがリリースおよび/または削除された場合でも、タグはまだ存在していました。ここでは、リモコンの古いラベルをきれいにすることが解決策です(ここにガイドがあります

答え3

git/contrib/completion/git(1) はソースコードとともに貢献したファイルを提供します。シェルスクリプトの処理が完了しました。

関連情報