Ich habe versucht, einen speziellen Git-Befehl dafür zu suchen, aber ich konnte keinen finden. Gibt es etwas kürzeres oder schnelleres als das Folgende?
git branch | awk '/\*/ { print $2; }'
git
branch
git-branch
Ollie Saunders
quelle
quelle
Antworten:
Dies sollte mit Git 1.6.3 oder neuer funktionieren.
quelle
HEAD
master
In Git 1.8.1 können Sie den Befehl git symbolic-ref mit der Option "--short" verwenden:
quelle
fatal: ref HEAD is not a symbolic ref
wenn Sie dies als Teil eines TravisCI-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 Commit 3710f60 , 07. März 2019)quelle
Sie könnten an der Ausgabe von interessiert sein
Insbesondere, abhängig von Ihren Anforderungen und Ihrem Layout, möchten Sie dies möglicherweise tun
oder
und dann gibt es wieder die
.git/HEAD
Datei, die auch für Sie von Interesse sein kann.quelle
git rev-parse --symbolic-full-name
zugit symbolic-ref
.basename
odercut
; Verwenden SieBR=${BR#refs/heads/}
(wobei BR der Name der Variablen ist, deren Ausgabe Sie gespeichert habengit symbolic-ref HEAD
).git symbolic-ref --short HEAD
auchSoweit ich das beurteilen kann, gibt es keine Möglichkeit, nur den aktuellen Zweig in Git nativ anzuzeigen. Daher habe ich Folgendes verwendet:
quelle
grep '*'
handelt es sich nominell um einen Syntaxfehler. Du willst wahrscheinlichgit branch | sed -n 's/^\* //p'
sowieso. Oder tatsächlich, was das OP überhaupt gepostet hat, was dasselbe ist.grep '*'
nominell ein Syntaxfehler vorliegt?'*'
ein regulärer Ausdruck ist und als solcher ungültig ist. Sie möchten wahrscheinlich verwenden'[*]'
(dh Zeichen*
anstelle des Operators "null oder mehrmals").grep '\*'
git branch | grep "*" | cut -d' ' -f2
Ich denke, das sollte schnell gehen und kann mit einer Python-API verwendet werden:
quelle
Ich benutze
Es wurde mit Git geliefert und bietet eine Eingabeaufforderung mit dem Namen des Zweigs und der Vervollständigung der Argumente.
quelle
$ source /etc//bash_completion.d/git-prompt
File auf verschiedenen Systemen unterschiedlich benannt sein. (Hinweis:source
Schlüsselwort ist das gleiche wie nur.
(Punkt) in Bash.)Dies ist nicht kürzer, aber es handelt sich auch um abgetrennte Zweige:
quelle
Der Vollständigkeit
echo $(__git_ps1)
halber sollten Sie zumindest unter Linux den Namen des aktuellen Zweigs in Klammern angeben.Dies kann in einigen Szenarien nützlich sein, da es sich nicht um einen Git-Befehl handelt (abhängig von Git), insbesondere zum Einrichten Ihrer Bash-Eingabeaufforderung zum Anzeigen des aktuellen Zweigs .
Zum Beispiel:
quelle
Jemand könnte dies ( ) hilfreich finden. Der aktuelle Zweig wird mit einem * gekennzeichnet.
git show-branch
--current
quelle