git branch -a
zeigt sowohl entfernte als auch lokale Zweigstellen.
git branch -r
zeigt entfernte Verzweigungen.
Gibt es eine Möglichkeit, nur die lokalen Niederlassungen aufzulisten?
Nur git branch
ohne Optionen.
Von der Hauptseite:
Ohne Argumente werden vorhandene Zweigstellen aufgelistet und der aktuelle Zweig wird mit einem Sternchen markiert.
nur der einfache Befehl
git branch
Wenn der führende Stern ein Problem ist, leite ich den git branch
wie folgt
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Dadurch entfällt auch die Zeile "(keine Verzweigung)", die angezeigt wird, wenn Sie den Kopf abgenommen haben.
Eine der einfachsten Möglichkeiten ist, dies zu tun
git for-each-ref --format='%(refname:short)' refs/heads/
Dies funktioniert auch perfekt für Skripte.
git branch -a
// alle Zweige
git branch -r
// nur entfernte Zweigstellen.
git branch -l
OR git branch
// Nur lokale Niederlassungen.
So listen Sie lokale Zweigstellen auf, in denen es in Origin keinen Remote-Zweig mit demselben Namen gibt:
git branch | sed 's|* | |' | sort > local
git branch -r | sed 's|Origin/||' | sort > remote
comm -23 local remote
Ein anderer Weg, um eine Liste zu erhalten, ist nur:
git branch -a | grep -v 'remotes'
Es gibt eine gute Antwort zu einem Beitrag über das Löschen von lokalen Zweigen. Darin baut der Gefährte einen Befehl zum Auflisten der lokalen Zweige auf:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
Die Antwort hat eine großartige Erklärung dafür, wie dieser Befehl abgeleitet wurde. Ich würde vorschlagen, dass Sie diesen Beitrag lesen.
Um die Antwort von @ gertvdijk zu ergänzen - ein Bild sagt mehr als tausend Worte, falls es jemandem schnell hilft.
Auf meinem git bash Shell
git-Zweig
befehl ohne Parameter zeigt alle meine lokalen Niederlassungen. Der aktuelle Zweig, der derzeit ausgecheckt ist, wird auch in einer anderen Farbe (grün) angezeigt, zusammen mit einem Stern, der wirklich intuitiv ist.
Wenn Sie versuchen, alle Zweige einschließlich der entfernten Zweige anzuzeigen, verwenden Sie
git-Zweig -a
kommando dann entfernte Zweige, die noch nicht ausgecheckt sind, werden rot dargestellt: