Montrer seulement la twig actuelle de Git

J’ai essayé de chercher une commande spéciale pour git mais je n’ai pas pu en trouver. Quelqu’un peut-il suggérer quelque chose de plus court ou plus rapide que:

git branch | awk '/\*/ { print $2; }' 

 $ git rev-parse --abbrev-ref HEAD master 

Cela devrait fonctionner avec Git 1.6.3 ou plus récent.

Dans Git 1.8.1, vous pouvez utiliser la commande git symbolic-ref avec l’option “–short”:

 $ git symbolic-ref HEAD refs/heads/develop $ git symbolic-ref --short HEAD develop 

Vous pouvez être intéressé par la sortie de

 git symbolic-ref HEAD 

En particulier, en fonction de vos besoins et de votre mise en page, vous voudrez peut-être faire

 basename $(git symbolic-ref HEAD) 

ou

 git symbolic-ref HEAD | cut -d/ -f3- 

et puis il y a le fichier .git/HEAD qui peut aussi vous intéresser.

C’est un vieux fil que je viens de découvrir. De ce que je peux dire, il n’y a aucun moyen de montrer en mode natif uniquement la twig en cours dans GIT, donc j’ai utilisé:

 #> git branch | grep '*' 

j’utilise

 /etc/bash_completion.d/git 

Il est venu avec git et fournit une invite avec le nom de la twig et la fin de l’argument.

Je suppose que cela devrait être rapide et peut être utilisé avec l’API Python.

 git branch --contains HEAD * master 

Ce n’est pas plus court, mais cela concerne aussi les twigs détachées:

 git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g' 

Pour être complet, echo $(__git_ps1) , sous Linux au moins, devrait vous donner le nom de la twig actuelle entourée de parenthèses.

Cela peut être utile dans certains cas, car il ne s’agit pas d’une commande git (en fonction de git), notamment pour configurer l’invite de commande bash afin d’afficher la twig en cours .

Par exemple:

 /mnt/c/git/ConsoleApp1 (test-branch)>echo $(__git_ps1) (test-branch) /mnt/c/git/ConsoleApp1 (test-branch)>git checkout master Switched to branch 'master' /mnt/c/git/ConsoleApp1 (master)>echo $(__git_ps1) (master) /mnt/c/git/ConsoleApp1 (master)>cd .. /mnt/c/git>echo $(__git_ps1) /mnt/c/git>