Eu tentei git branch -r
, mas isso lista apenas as ramificações remotas que eu localizei localmente. Como encontro a lista daqueles que não encontrei? (Não importa para mim se o comando lista todas as ramificações remotas ou apenas as que não são rastreadas.)
git
branch
git-branch
remote-branch
James A. Rosen
fonte
fonte
git fetch
egit remote update
não buscar todos os ramos do controle remoto? Porque senão você fossem obter, em seguida, usargit branch -r
...git branch -r
estava apenas me mostrando ramos remotos que eu havia rastreado localmente. Está funcionando melhor agora.Respostas:
Para a grande maioria [1] dos visitantes aqui, a resposta correta e mais simples para a pergunta "Como listar todas as ramificações remotas no Git 1.7+?" é:
Para uma pequena minoria [1]
git branch -r
não funciona. Segit branch -r
não funcionar, tente:Se
git branch -r
não funcionar, então talvez como Cascabel diz "você modificou o refspec padrão, de modo quegit fetch
egit remote update
não buscar todos osremote
ramos 's" .[1] No momento da redação desta nota de rodapé de 2018 a fevereiro, observei os comentários e vi que os
git branch -r
trabalhos para a grande maioria (cerca de 90% ou 125 dos 140 ).Se
git branch -r
não funcionar, a verificaçãogit config --get remote.origin.fetch
contém um curinga (*
) conforme esta respostafonte
git ls-remote [url]
para que você não tem que clonar pela primeira vez :)git branch -r
como essa é a resposta correta e mais simples, o solicitante teve um caso especial em que modificou o comportamento delegit branch -r
que a maioria dos usuários que acessam aqui não havegit branch -r
também não funcionou para mim. É apenas listar os ramos já rastreados localmente. Masgit ls-remote --heads
listou todas as ramificações disponíveis no repositório remoto ...git ls-remote
(e não listadas emgit branch -r
), é necessário executargit config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
antes da busca, conforme descrito em stackoverflow.com/a/26649770/873282 .git fetch --all
antes para obter todas as ramificações remotas atuais.remote show
mostra todas as ramificações no controle remoto, incluindo aquelas que não são rastreadas localmente e até as que ainda não foram buscadas.Ele também tenta mostrar o status dos ramos em relação ao seu repositório local:
fonte
branch_that_is_not_tracked tracked
?branch_that_is_not_tracked
é uma ramificação que não é rastreada por nenhuma ramificação git local. No entanto, foi buscado no repositório local (portanto, há uma ramificação remota). Por alguma razão estranha,git remote show
chama esse estadotracked
, mesmo que não haja ramificação local que rastreie o controle remoto. Nesse caso, o oposto detracked
énew
, significando "não buscado".git branch -r
sugere que ainda há uma ramificação remota, masgit remote show origin
mostra issorefs/remotes/origin/my-now-dead-branch stale (use 'git remote prune' to remove)
. Muito mais útil!fonte
git branch -r
qual o OP disse que não era bom o suficiente.git branch -a
egit branch -r
listar todas as ramificações remotas para mim, não tenho certeza se o que o OP disse é verdadeiro. Acabei de configurar um repositório de teste e verifiquei isso (só tinha origem / mestre de rastreamento mestre, mas ainda via todas as ramificações remotas com os dois sinalizadores).git fetch
segui seguidogit branch -a
, que só recentemente começou a falhar para mim. Talvez o comportamento git tenha mudado?O uso
git branch -r
lista todas as ramificações remotas egit branch -a
lista todas as ramificações no local e no remoto. Essas listas ficam desatualizadas. Para manter essas listas atualizadas, executeque atualizará sua lista de filiais locais com todas as novas do controle remoto e removerá as que não estão mais lá. A execução deste comando de atualização sem o --prune recuperará novas ramificações, mas não excluirá as que não estão mais no controle remoto.
Você pode acelerar esta atualização especificando um controle remoto; caso contrário, ele obterá atualizações de todos os controles remotos que você adicionou, assim
fonte
Mas
git branch -ar
deve fazê-lo.
fonte
-r
retorna apenas ramificações remotas.-a
retorna ramificações locais e remotas. Assim,git branch -a
egit branch -ar
ambos produzem a mesma saída.Você também pode fazer
git fetch
seguido de umgit branch -r
. Sem buscar, você não verá os ramos mais atuais.fonte
git fetch --all
ter todos os ramos atuaisRamificação Git - Ramificações remotas
Documentação Git .
fonte
heads/
nosrefs/heads/features/my-branch
, muito obrigado!A maneira mais simples que encontrei:
fonte
TL; TR;
Esta é a solução do seu problema:
ou:
fonte
O melhor comando para executar é
git remote show [remote]
. Isso mostrará todas as filiais, remotas e locais, rastreadas e não rastreadas.Aqui está um exemplo de um projeto de código aberto:
Se apenas queremos obter as ramificações remotas, podemos usar
grep
. O comando que queremos usar seria:Com este comando:
Você também pode criar um alias para isso:
Então você pode simplesmente correr
git branches
.fonte
Com o Git Bash , você pode usar:
fonte
Tente isso ...
fonte
Basta executar um
git fetch
comando. Ele puxará todas as ramificações remotas para o repositório local e fará umagit branch -a
lista de todas as ramificações.fonte
Se há uma ramificação remota que você sabe que deve ser listada, mas não está sendo listada, convém verificar se sua origem está configurada corretamente com isso:
Se tudo estiver bem, talvez você deva executar uma atualização:
Supondo que seja executado com êxito, você poderá fazer o que as outras respostas dizem:
fonte
Usando este comando,
Ele lista todas as ramificações remotas, incluindo as mensagens de confirmação e os IDs de confirmação referidos pelas ramificações remotas.
fonte
Eu usaria:
Este comando não apenas mostra a lista de todas as ramificações, incluindo ramificações remotas
/remote
, mas também fornece o*
feedback sobre o que você atualizou e os últimos comentários de confirmação.fonte
Verifique se a origem remota que você está listando é realmente o repositório desejado e não um clone mais antigo.
fonte
Acabei fazendo um pipeline de bagunça para conseguir o que queria. Acabei de mesclar ramos do controle remoto de origem:
fonte
A resposta aceita funciona para mim. Mas achei mais útil ordenar os commits, começando pelos mais recentes.
git branch -r --sort=-committerdate
fonte