wake-up-neo.com

Zeige nur den aktuellen Zweig in Git

Ich habe versucht, einen speziellen git-Befehl dafür zu finden, konnte aber keinen finden. Kann jemand etwas vorschlagen, das kürzer oder schneller ist als:

git branch | awk '/\*/ { print $2; }'
312
Ollie Saunders
$ git rev-parse --abbrev-ref HEAD
master

Dies sollte mit Git 1.6.3 oder neuer funktionieren.

575
earl

In Git 1.8.1 können Sie den Befehl git symbolic-ref mit der Option "--short" verwenden:

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

Sie könnten an der Ausgabe von interessiert sein

git symbolic-ref HEAD

Insbesondere je nach Ihren Anforderungen und Ihrem Layout möchten Sie dies möglicherweise tun

basename $(git symbolic-ref HEAD)

oder

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

und dann ist da noch das .git/HEAD Datei, die Sie auch interessieren könnte.

Mit Git 2.22 (Q2 2019) haben Sie einen einfacheren Ansatz: git branch --show-current.

Siehe commit 0ecb1fc (25. Oktober 2018) von Daniels Umanovskis (umanovskis .
(Zusammengeführt von Junio ​​C Hamano - gitster - in Festschreiben 3710f6 , 07. März 2019)

branch: Anzeigeoption --show-current einführen

Bei Aufruf mit --show-current Wird mit git branch Der aktuelle Filialname gedruckt und beendet.
Es wird nur der tatsächliche Name ohne refs/heads Gedruckt.
Im getrennten Zustand HEAD) wird nichts ausgegeben.

Bestimmt sowohl für Skripte als auch für interaktive/informative Zwecke.
Im Gegensatz zu git branch --list Ist keine Filterung erforderlich, um nur den Namen des Zweigs abzurufen.

18
VonC

Dies ist ein alter Thread, über den ich gerade gestolpert bin. Soweit ich weiß, gibt es keine Möglichkeit, nativ nur den aktuellen Zweig in GIT anzuzeigen. Daher habe ich verwendet:

#> git branch | grep '*'
12
theruss

Ich denke, das sollte schnell gehen und kann mit python API verwendet werden.

git branch --contains HEAD
* master
7
urvish

Ich benutze

/etc/bash_completion.d/git

Es wurde mit git geliefert und bietet eine Eingabeaufforderung mit dem Namen des Zweigs und der Vervollständigung des Arguments.

4
iny

Dies ist nicht kürzer, aber es geht auch um abgelöste Zweige:

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

Der Vollständigkeit halber sollte echo $(__git_ps1), zumindest unter Linux, den Namen des aktuellen Zweigs in Klammern enthalten.

Dies kann in einigen Szenarien nützlich sein, da es sich nicht um einen git-Befehl handelt (obwohl er von git abhängt) , insbesondere um Ihren bash-Befehl einzurichten. Aufforderung zur Anzeige des aktuellen Zweigs .

Beispielsweise:

/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

Nur mit git branch funktioniert bei mir.

Git Version: 2.13.2

0
indospace.io