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; }'
$ git rev-parse --abbrev-ref HEAD
master
Dies sollte mit Git 1.6.3 oder neuer funktionieren.
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
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ührenBei Aufruf mit
--show-current
Wird mitgit branch
Der aktuelle Filialname gedruckt und beendet.
Es wird nur der tatsächliche Name ohnerefs/heads
Gedruckt.
Im getrennten Zustand HEAD) wird nichts ausgegeben.Bestimmt sowohl für Skripte als auch für interaktive/informative Zwecke.
Im Gegensatz zugit branch --list
Ist keine Filterung erforderlich, um nur den Namen des Zweigs abzurufen.
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 '*'
Ich denke, das sollte schnell gehen und kann mit python API verwendet werden.
git branch --contains HEAD
* master
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.
Dies ist nicht kürzer, aber es geht auch um abgelöste Zweige:
git branch | awk -v FS=' ' '/\*/{print $NF}' | sed 's|[()]||g'
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>
Nur mit git branch
funktioniert bei mir.
Git Version: 2.13.2