Antworten:
Nur git branch
ohne Optionen.
Aus der Manpage:
Ohne Argumente werden vorhandene Zweige aufgelistet und der aktuelle Zweig wird mit einem Sternchen hervorgehoben.
nur der einfache Befehl
git branch
git branch -a
- Alle Filialen.
git branch -r
- Fernbedienung Nur Zweige.
git branch -l
oder git branch
- Nur lokale Niederlassungen.
-l
Stände hin --local
, während es tatsächlich so ist --list
. Ich würde vorschlagen, es zu entfernen, um diese Verwirrung zu vermeiden - technisch könnten alle Befehle in dieser Antwort verwendet werden -l
und sie würden immer noch die gleichen Ergebnisse zurückgeben.
Wenn das führende Sternchen ein Problem darstellt, leite ich git branch
Folgendes wie folgt weiter
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Dadurch wird auch die Zeile "(kein Zweig)" entfernt, die angezeigt wird, wenn Sie den Kopf abgenommen haben.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
für Git Version 1.9.1 ändern.
cut -c 3-
ist eine einfachere Option
Eine der einfachsten Möglichkeiten ist dies
git for-each-ref --format='%(refname:short)' refs/heads/
Dies funktioniert auch perfekt für Skripte.
So listen Sie lokale Zweige auf, für die kein Remote-Zweig mit demselben Namen vorhanden ist:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|origin/||' | sort > remote
comm -23 local remote
comm -23 <(git branch | sed 's|* | |' | sort) <(git branch -r | sed 's|origin/||' | sort )
Eine andere Möglichkeit, eine Liste nur für eine lokale Niederlassung zu erhalten, ist:
git branch -a | grep -v 'remotes'
Es gibt eine großartige Antwort auf einen Beitrag darüber, wie nur lokale Zweige gelöscht werden. Darin erstellt der Fellow einen Befehl, um die lokalen Zweige aufzulisten:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
Die Antwort enthält eine großartige Erklärung, wie dieser Befehl abgeleitet wurde. Ich würde Ihnen daher empfehlen, diesen Beitrag zu lesen.
Zur Ergänzung der Antwort von @ gertvdijk füge ich einige Screenshots hinzu, falls es jemandem schnell hilft.
Auf meiner Git Bash Shell
Git Zweig
Befehl ohne Parameter zeigt alle meine lokalen Zweige. Der aktuelle Zweig, der gerade ausgecheckt ist, wird in einer anderen Farbe (grün) zusammen mit einem Sternchen (*) angezeigt, was sehr intuitiv ist.
Wenn Sie versuchen, alle Zweige einschließlich der Remote-Zweige mit anzuzeigen
Git-Zweig -a
Befehl dann Remote-Zweige, die noch nicht ausgecheckt sind, werden in roter Farbe angezeigt: