web-dev-qa-db-fra.com

Afficher uniquement la branche actuelle dans Git

J'ai essayé de chercher une commande spéciale pour cela 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; }'
312
Ollie Saunders
$ git rev-parse --abbrev-ref HEAD
master

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

575
earl

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
112
dieresys

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

git symbolic-ref HEAD

En particulier, selon vos besoins et 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.

25

Avec Git 2.22 (T2 2019), vous aurez une approche plus simple: git branch --show-current.

Voir commit 0ecb1fc (25 octobre 2018) par Daniels Umanovskis (umanovskis) .
(Fusionnée par Junio ​​C Hamano - gitster - dans commit 3710f6 , 07 mars 2019)

branch: introduit l'option d'affichage --show-current

Lorsqu'il est appelé avec --show-current, git branch imprime le nom de la branche actuelle et se termine.
Seul le nom réel est imprimé, sans refs/heads.
Dans l’état détaché HEAD, rien n’est émis.

Destiné à la fois à l'utilisation de scripts et à une utilisation interactive/informative.
Contrairement à git branch --list, aucun filtrage n'est nécessaire pour obtenir simplement le nom de la branche.

18
VonC

C'est un vieux fil sur lequel je viens de tomber. D'après ce que je peux dire, il n'y a aucun moyen de montrer nativement seulement la branche actuelle dans GIT, donc j'ai utilisé:

#> git branch | grep '*'
12
theruss

Je suppose que cela devrait être rapide et peut être utilisé avec python API.

git branch --contains HEAD
* master
7
urvish

J'utilise

/etc/bash_completion.d/git

Il est venu avec git et fournit une invite avec le nom de la branche et la complétion des arguments.

4
iny

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

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

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

Cela peut être utile dans certains scénarios car il ne s'agit pas d'une commande git (bien que cela dépende de git), notamment pour configurer votre commande bash Invite à afficher la branche actuelle.

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>
0
tymtam

Le simple fait d'utiliser git branch fonctionne pour moi.

Version Git: 2.13.2

0
indospace.io