Saya berada di semacam frankendebian stretch/sid (bukan ide terbaik, saya tahu; berencana untuk segera menginstal ulang).
Penyelesaian tab berfungsi untuk nama cabang git di direktori git repo:
:~/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
Tapi beberapa cabang yang ditampilkan sudah tidak ada lagi:
:~/project $ git branch
* develop
private-rl_1219_misspelled_locale_zhtw
stable
Ini juga terjadi untuk jarak jauh . yang dihapus cabang.
Apa yang terjadi di sini? Apakah skrip penyelesaian git menyimpan cache cabang lama yang dapat dihapus entah bagaimana? Bagaimana cara menghentikan cabang ini agar tidak terakumulasi dalam hasil penyelesaian tab saya?
Jawaban yang Diterima:
Saya menemukan jawabannya, berkat dorongan lembut dari @PatrickMevzek:
Cabang yang saya lihat sebenarnya adalah referensi ke cabang jarak jauh yang telah dihapus. Mengutip jawaban teratas dari utas SO yang ditautkan di atas,
$ git remote prune origin
memperbaikinya untuk saya.