Respostas:
Para atualizar a lista local de ramificações remotas:
git remote update origin --prune
Para mostrar todas as ramificações locais e remotas que o Git (local) conhece
git branch -a
git remote update origin --prune
é o que eu estava procurando thx
git remote update
, e a resposta aceita, que usa git fetch
, veja aqui
git fetch
não removeu meu cache local de ramificações remotas. Só --prune
foi capaz de limpar tudo.
git config remote.origin.prune true
git remote prune origin
tem o mesmo efeito e você digita menos.
Eu acredito que se você correr git branch --all
Bash, a lista de ramificações remotas e locais que você vê refletirá o que o seu Git local "sabe" sobre no momento em que você executa o comando. Como o seu Git está sempre atualizado com relação às ramificações locais em seu sistema, a lista de ramificações locais sempre será precisa.
No entanto, para ramificações remotas, isso não precisa ser o caso. Seu Git local conhece apenas ramificações remotas que ele viu na última busca (ou pull). Portanto, é possível que você execute git branch --all
e não veja uma nova ramificação remota que apareceu após a última vez que você buscou ou puxou.
Para garantir que sua lista de filiais local e remota esteja atualizada, faça isso git fetch
antes de executar git branch --all
.
Para mais informações, as ramificações "remotas" que aparecem quando você executa git branch --all
não são realmente remotas; eles são realmente locais. Por exemplo, suponha que haja uma ramificação no controle remoto feature
que você puxou pelo menos uma vez no Git local. Você verá origin/feature
listado como um ramo quando executar git branch --all
. Mas esse ramo é realmente um ramo Git local . Quando você faz git fetch origin
isso, esse ramo de rastreamento é atualizado com novas alterações do controle remoto. É por isso que seu estado local pode ficar obsoleto, porque pode haver novas ramificações remotas ou suas ramificações de rastreamento podem ficar obsoletas.
git fetch
conseguiu.
git fetch
não funciona para mim, preciso adicionar --prune
. Btw, eu não sou ofensor;)
git fetch
não remove ramificações remotas excluídas. Provavelmente é por isso que algumas pessoas votaram
O OP não solicitou a limpeza de todos os controles remotos, e sim de todas as ramificações do controle remoto padrão.
Então git fetch --prune
é o que deve ser usado.
A configuração git config remote.origin.prune true
torna --prune
automática. Nesse caso git fetch
, também removerá ramificações remotas obsoletas da cópia local. Consulte também Poda automática com o Git buscar ou puxar .
Observe que isso não limpa as ramificações locais que não estão mais rastreando uma ramificação remota. Consulte Como remover ramificações de rastreamento local que não existem mais no controle remoto para isso.
git fetch -p
Use git fetch
para buscar todas as ramificações criadas mais recentes.
git fetch
não mudou nada para mim com o git 2.17.1. Qual versão e opções você está usando?
--prune
ou git config remote.NAME.prune true
para resolver a questão do OP #
Se você estiver usando o Eclipse e quiser ver novas ramificações do upstream;
Na perspectiva do Git, clique com o botão direito do mouse em um repositório do Git e escolha "Buscar do Upstream". Isso busca novas ramificações remotas.
Se você estiver usando o Eclipse,
Todos deveriam estar lá. Clique com o botão direito e "finalize a compra".
git ls-remote
pode ser interessante aqui.