Respostas:
Apenas git branch
sem opções.
Na página de manual:
Sem argumentos, as ramificações existentes são listadas e a ramificação atual será destacada com um asterisco.
apenas o comando simples
git branch
git branch -a
- todos os galhos.
git branch -r
- Apenas ramificações remotas .
git branch -l
ou git branch
- Somente filiais locais .
-l
posição --local
, enquanto é realmente --list
. Eu sugeriria removê-lo para evitar essa confusão - tecnicamente todos os comandos nesta resposta poderiam usar -l
e eles ainda retornariam os mesmos resultados.
Se o asterisco principal for um problema, eu canalizo o git branch
seguinte
git branch | awk -F ' +' '! /\(no branch\)/ {print $2}'
Isso também elimina a linha '(sem ramificação)' que aparece quando você desanexou a cabeça.
git branch | awk -F ' +' '$2 !~ /detached/ {print $2}'
a versão 1.9.1 do git.
cut -c 3-
é uma opção mais fácil
Uma das maneiras mais simples de fazer isso é
git for-each-ref --format='%(refname:short)' refs/heads/
Isso funciona perfeitamente para scripts também.
Veja como listar ramificações locais que não têm uma ramificação remota na origem com o mesmo 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 )
Outra maneira de obter uma lista apenas do ramo local é:
git branch -a | grep -v 'remotes'
Há uma ótima resposta para uma postagem sobre como excluir apenas ramificações locais. Nele, o sujeito cria um comando para listar as ramificações locais:
git branch -vv | cut -c 3- | awk '$3 !~/\[/ { print $1 }'
A resposta tem uma ótima explicação sobre como esse comando foi derivado, então eu sugiro que você leia esse post.
Para complementar a resposta de @ gertvdijk - estou adicionando algumas capturas de tela para ajudar alguém rapidamente.
No meu shell bash git
ramo git
O comando sem nenhum parâmetro mostra todos os meus ramos locais. O ramo atual que está atualmente com check-out é mostrado em cores diferentes (verde) junto com um prefixo de asterisco (*) que é realmente intuitivo.
Quando você tenta ver todas as ramificações, incluindo as ramificações remotas usando
git branch -a
comando, as ramificações remotas que ainda não foram verificadas são mostradas em vermelho: