私は一種のフランケンデビアンストレッチ/シドを使用しています(最善のアイデアではありません。すぐに再インストールする予定です)。
タブ補完は、gitリポジトリディレクトリ内の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完了スクリプトは、何らかの方法でフラッシュできる古いブランチのキャッシュを保持していますか?これらのブランチがタブ補完の結果に蓄積されないようにするにはどうすればよいですか?
承認された回答:
@PatrickMevzekからの穏やかな提案のおかげで、私はそれを理解しました:
私が見たブランチは、実際にはすでに削除されたリモートブランチへの参照でした。上にリンクされているSOスレッドからのトップアンサーを引用するには、
$ git remote prune origin
修正してくれました。