Como listar os branches remotos no git
Neste artigo você vai aprender a como listar os branches remotos no git, utilizando apenas um simples comando
Resposta rápida: pra listar os branches remotos no git, rode git branch -r
Ele lista as branches de rastreamento remoto do teu repositório
Quer os locais e os remotos juntos? Use git branch -a
Só lembre que essa lista é um retrato da última comunicação com o servidor, então rode git fetch antes (ou git fetch –prune, pra sumir com o que já foi apagado no remoto)

Fala programador(a), beleza? Bora aprender mais sobre branches com git!
O comando para verificar branches é o git branch, porém ele nos dá apenas os locais
Com uma flag adicional é capaz de mapear os branches remotos através deste comando também
Vamos utilizar a -r, sempre que você ver -algumacoisa é alguma flag sendo adicionada a um comando de git
Veja o comando completo:
git branch -r
Desta forma recebemos uma lista de branches, mas agora apenas os que são do repositório remoto
Diversos comandos podem ter seu resultado final alterado com base em alguma opção a mais adicionada a ele
E provavelmente você já usa algumas e nem se tocou 🙂
Quer aprender mais sobre git? Veja este curso gratuito:
Conclusão
Neste artigo você viu como listar os branches remotos no git
Utilizamos o comando git branch com a flag/opção -r
Que nos retorna uma lista dos branches remotos do nosso repositório, ou seja, branches que existem apenas no servidor
Confira nossos cursos gratuitos no Youtube, com vídeos todos os dias! Se inscreva e ative o sininho para receber as notificações e aprender mais ainda sobre desenvolvimento web!
Veja também nosso catálogo de cursos na Udemy, todos com exercícios e projetos práticos, nas mais diversas tecnologias. O link acima contém um cupom de desconto para os cursos
Formação Claude Code
Domine Claude Code do absoluto zero até o avançado
- 120 aulas
- 4 projetos
- 9h 45min
H2: E se eu quiser ver os locais e os remotos juntos?
Tem hora que tu não quer só o que está no servidor, quer o mapa inteiro do repositório
Pra isso existe a opção -a (ou –all), que lista os branches locais e os remotos numa tacada só
[bloco de código] git branch -a
Na prática: -r te dá só o lado remoto, -a te dá os dois lados
Simples assim 🙂
H2: O que o git branch -r está te mostrando de verdade:
Aqui vai a parte que quase ninguém explica, e que muda tudo
O que o -r lista são as branches de rastreamento remoto (as famosas remote-tracking branches)
E elas NÃO são uma consulta ao vivo no servidor
"Peraí, como assim?"
São referências locais, guardadas no teu repositório, que você não move na mão
Quem move é o próprio Git, a cada comunicação de rede com o remoto
Ou seja: elas funcionam como um marcador de onde as branches do remoto estavam na última vez que teu Git conversou com o servidor
É por isso que o nome vem sempre no formato <remoto>/<branch>
Olha o origin/master, por exemplo: ele representa a branch master lá no remoto origin, como ela estava na última comunicação
Sacou por que às vezes a lista parece "errada"? Ela não está errada, ela está velha 😀
H2: A lista está desatualizada? Atualize antes de listar:
Se a lista está velha, a solução é fazer o Git conversar com o servidor de novo
Quem faz isso é o git fetch, ele é o comando que atualiza as branches de rastreamento remoto
[bloco de código] git fetch git branch -r
Rodou o fetch, aí sim o git branch -r reflete a última conexão com o remoto
Recomendo virar hábito: fetch primeiro, lista depois
H2: Apareceu um branch que já foi apagado no servidor?
Clássico: o pessoal deletou a branch lá no remoto, mas ela continua teimando na tua lista
De novo, é aquela referência local que ficou pra trás
Pra limpar, o git fetch aceita a opção –prune, que remove, antes de buscar, as referências de rastreamento remoto que deixaram de existir no remoto
[bloco de código] git fetch –prune
Se tu só quer a faxina, sem buscar novidade nenhuma, dá pra usar o git remote prune
[bloco de código] git remote prune origin
Ele é equivalente ao git fetch –prune, com a diferença de que nenhuma referência nova é buscada
Tome cuidado com as tags: elas não são podadas quando vieram pelo auto-follow padrão ou por –tags
Elas só entram na poda se vierem de um refspec explícito, e o –prune-tags é justamente o atalho pra fornecer esse refspec de tag
H2: Como ver mais detalhes de cada branch remoto:
A lista pura é meio seca, né?
Joga um -v junto e o Git passa a mostrar o sha1 e a linha de assunto do commit de cada branch
[bloco de código] git branch -r -v
E se tu der o v duas vezes (-vv), ele imprime também o nome da branch upstream e o caminho do worktree vinculado, quando existir
[bloco de código] git branch -vv
Muito massa pra bater o olho e saber quem está rastreando quem
H2: Como filtrar a lista de branches remotos:
Em repositório grande a lista vira um paredão, aí filtrar salva a vida
O git branch aceita um padrão (wildcard de shell) pra filtrar a listagem, mas tem uma pegadinha: com padrão é obrigatório usar o –list junto
[bloco de código] git branch -r –list ‘origin/feat*’
Se tu esquecer o –list, o comando pode ser interpretado como criação de branch
Já me ferrei uma vez por causa desse tipo de detalhe, então fica o aviso
H3: Filtrando por commit:
Dá pra restringir a lista olhando pro histórico também:
–contains mostra só as branches que contêm o commit citado
–merged mostra só as que já foram mescladas
–no-merged mostra só as que ainda não foram
[bloco de código] git branch -r –merged git branch -r –no-merged
Esse par aí é ouro na hora da faxina, pra saber o que já entrou e o que ainda está solto
H2: E se eu quiser consultar o servidor de verdade?
Como vimos, o -r mostra o retrato da última conexão
Quando tu precisa ir na fonte, existe o git ls-remote, que consulta o repositório remoto e exibe as referências disponíveis no formato <oid> TAB <ref>
[bloco de código] git ls-remote origin
Dá pra limitar a saída a refs/heads e refs/tags pelas opções do comando
Um detalhe importante de versão atual: o –heads virou sinônimo deprecated de –branches e pode ser removido no futuro, então prefira o –branches
[bloco de código] git ls-remote –branches origin
H3: Um panorama mais mastigado:
Se tu quer menos ID de commit e mais contexto, o git remote show é teu amigo
[bloco de código] git remote show origin
Ele mostra quais branches remotas do servidor você ainda não tem, quais você tem que já foram removidas do servidor e quais branches locais fazem merge automático no git pull
Topzera pra dar aquela conferida antes de um pull
H3: Ordenando e formatando a listagem:
As chaves de ordenação do git branch são as mesmas do git for-each-ref, então o que tu aprende num vale no outro
E se quiser montar uma saída sob medida com as refs remotas, o próprio git for-each-ref formata a listagem de referências, incluindo refs/remotes, com dados de rastreamento
Além de %(upstream), %(upstream:remotename) e %(upstream:remoteref), que trazem o remoto e a ref rastreada
Dá pra montar um relatório bem completão do estado das branches remotas com isso
Inserir o bloco de FAQ (H2 "Perguntas frequentes sobre listar branches remotos no git") com as perguntas e respostas do campo geo.faq, cada pergunta como H3
E fomos além do básico: vimos o -a pra listar tudo junto, o git fetch pra atualizar a lista, o –prune pra limpar branch que já morreu no servidor, os filtros com –list, –merged e –no-merged, e o git ls-remote quando tu precisa perguntar direto pro servidor
Tudo isso vale nas versões atuais do Git (a estável mais recente é a 2.55.0)
Não há material próprio autorizado sobre este tema (o vídeo disponível trata de uma skill de pesquisa do GitHub, sem relação com listagem de branches), então nenhum bloco de primeira mão foi escrito e nada de "testamos" foi inserido no post. Pra ganhar primeira mão real aqui, o que precisaria ser gravado/registrado: (1) saída real de git branch -r antes e depois de um git fetch num repositório com branch criada por outra pessoa, mostrando a lista desatualizada e depois atualizada; (2) saída real de git branch -r em repositório com branch já deletada no remoto, seguida de git fetch –prune, provando o sumiço da referência; (3) comparação lado a lado da saída de git branch -r e de git ls-remote origin no mesmo repositório e no mesmo instante, evidenciando cache local versus consulta ao servidor; (4) print de um git branch -r –list sem o –list dando comportamento inesperado. Com essas capturas, o post ganha prova visual que nenhuma resposta gerada por IA tem.
Perguntas frequentes
Qual o comando para listar os branches remotos no git?
É o git branch -r
A opção -r faz o git branch listar as branches de rastreamento remoto, em vez das locais
Qual a diferença entre git branch -r e git branch -a?
O -r lista só as branches de rastreamento remoto
Já o -a (ou –all) lista as locais e as remotas juntas, na mesma saída
Por que um branch novo do meu colega não aparece no git branch -r?
Porque as branches de rastreamento remoto são referências locais, atualizadas pelo Git a cada comunicação de rede, e não uma consulta ao vivo no servidor
Quem atualiza essas referências é o git fetch, então rode o fetch antes de listar de novo
Como remover da lista os branches remotos que já foram apagados no servidor?
Use git fetch –prune, que remove, antes de buscar, as referências de rastreamento remoto que deixaram de existir no remoto
Se você quer só a limpeza, sem buscar nada novo, use git remote prune origin, que é equivalente ao git fetch –prune exceto por não buscar referências novas
Como filtrar os branches remotos por nome?
O git branch aceita um padrão de wildcard de shell, mas com padrão é preciso usar o –list junto
Exemplo: git branch -r –list ‘origin/feat*’
Sem o –list, o comando pode acabar sendo interpretado como criação de branch
Como saber quais branches remotos já foram mesclados?
Use os filtros por commit do git branch: –merged mostra só as branches já mescladas e –no-merged só as não mescladas
Tem ainda o –contains, que mostra apenas as branches que contêm o commit citado
Como listar os branches direto do servidor, sem depender do cache local?
Use o git ls-remote, que consulta o repositório remoto e exibe as referências disponíveis no formato <oid> TAB <ref>
Dá pra limitar a saída a refs/heads e refs/tags pelas opções do comando, lembrando que o –heads virou sinônimo deprecated de –branches
Outra opção é o git remote show origin, que mostra quais branches remotas do servidor você ainda não tem, quais você tem que já foram removidas do servidor e quais branches locais fazem merge automático no git pull
Como ver o commit e o upstream de cada branch na listagem?
Com o -v o git branch mostra o sha1 e a linha de assunto do commit de cada branch
Se você der duas vezes (-vv), ele imprime também o caminho do worktree vinculado, quando houver, e o nome da branch upstream
Leia também
Formações
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Blog | Mais populares

Como saber em qual branch estou no Git? (2 comandos simples)
Neste artigo você vai aprender a como verificar o branch atual em git, ou seja, o branch em que você está trabalhando no momento Fala […]

Como remover remote origin de repositório em git
Neste artigo você vai aprender a como remover remote origin de repositório em git, com apenas um comando! Fala programador(a), beleza? Bora aprender mais sobre […]
O que é GIT e GitHub? Para que serve, diferenças e cursos
Seja bem-vindo ao nosso guia completo sobre uma das ferramentas mais cruciais e universalmente utilizadas no mundo da tecnologia da informação: o Git e Github. […]
