Risposte:
Solo git branch
senza opzioni.
Dalla manpage:
Senza argomenti, i rami esistenti vengono elencati e il ramo corrente verrà evidenziato con un asterisco.
solo il semplice comando
git branch
git branch -a
- Tutti rami.
git branch -r
- Telecomando Solo filiali .
git branch -l
oppure git branch
- Solo filiali locali .
-l
indicazioni --local
, mentre in realtà lo è --list
. Suggerirei di rimuoverlo per evitare quella confusione - tecnicamente tutti i comandi in questa risposta potrebbero usare -l
e restituirebbero comunque gli stessi risultati.
Se l'asterisco principale è un problema, eseguo il pipe git branch
come segue
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Questo elimina anche la linea "(nessun ramo)" che appare quando hai la testa staccata.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
per git versione 1.9.1.
cut -c 3-
è un'opzione più semplice
Uno dei modi più semplici per farlo è
git for-each-ref --format='%(refname:short)' refs/heads/
Questo funziona perfettamente anche per gli script.
Ecco come elencare i rami locali che non hanno un ramo remoto in origine con lo stesso nome:
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 )
Un altro modo per ottenere un elenco solo la filiale locale è:
git branch -a | grep -v 'remotes'
C'è un'ottima risposta a un post su come eliminare le filiali solo locali. In esso, il collega crea un comando per elencare i rami locali:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
La risposta ha una grande spiegazione su come è stato derivato questo comando, quindi suggerirei di andare a leggere quel post.
Per completare la risposta di @gertvdijk: sto aggiungendo alcuni screenshot nel caso in cui aiuti qualcuno velocemente.
Sul mio git bash shell
ramo git
comando senza parametri mostra tutti i miei rami locali. Il ramo corrente che è attualmente estratto è mostrato in un colore diverso (verde) insieme a un prefisso asterisco (*) che è davvero intuitivo.
Quando si tenta di vedere tutti i rami inclusi quelli remoti utilizzando
ramo git -a
comando quindi i rami remoti che non sono ancora stati estratti sono visualizzati in rosso: