Ich bin auf einer Art Frankendebian Stretch/Sid (nicht die beste Idee, ich weiß; plane eine baldige Neuinstallation).
Tab-Vervollständigung funktioniert für Git-Branch-Namen in Git-Repo-Verzeichnissen:
:~/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
Einige der angezeigten Zweige existieren jedoch nicht mehr:
:~/project $ git branch
* develop
private-rl_1219_misspelled_locale_zhtw
stable
Dies gilt auch für gelöschte Remote Niederlassungen.
Was ist denn hier los? Behält das Git-Completion-Skript einen Cache mit alten Branches, die irgendwie geleert werden können? Wie kann ich verhindern, dass sich diese Verzweigungen in meinen Tab-Vervollständigungsergebnissen ansammeln?
Akzeptierte Antwort:
Ich habe es herausgefunden, dank eines sanften Anstupsens von @PatrickMevzek:
Die Zweige, die ich sah, waren eigentlich Verweise auf entfernte Zweige, die bereits gelöscht worden waren. Um die Top-Antwort aus dem oben verlinkten SO-Thread zu zitieren,
$ git remote prune origin
hat es für mich behoben.