Mon "repo" pour des choses comme ça, c'est toujours bash_completion. Ok, onglet "onglet" est le moyen bash devient un outil productif, donc, où tout ce que la magie de choses viennent de?
il y a un /etc/bash_completion.d/ répertoire où extensions pour bash completion sont à gauche. il doit y avoir un git fichier exécutable, l'ouvrir et chercher quelque chose comme get_refs(). Si vous lui donnez un chèque, vous trouverez que git décrire et git pour-chaque-ref sont vos amis, laissez-vous tenter quelques exemples:
Une commune des pensions de:
$ cd /your/git/repo; git branch -a
master
blaster
* brunch
lunch
remotes/origin/master
remotes/origin/develop
remotes/github/master
Qui est mon vérifié branche?
$ git describe --contains --all HEAD
brunch
Quels sont mes télécommandes?
$ git remote
origin
github
Quelles sont les branches sur les télécommandes?
$ git for-each-ref --format="%(refname:short)" refs/remotes
origin/master
origin/develop
github/master
Quelles sont mes branches locales?
$ git branch
master
blaster
* brunch
lunch
...un plus parseable branches de sortie?
$ git for-each-ref --format="%(refname:short)" refs/heads
master
blaster
brunch
lunch
Qu'en est-tags?
$ git for-each-ref --format="%(refname:short)" refs/heads refs/remotes refs/tags
master
blaster
brunch
lunch
origin/master
origin/develop
github/master
release-0_1
release-0_2
release-1_0
vérifiez le "man pages" pour cette commande, il y a beaucoup plus à l'intérieur!.