Usar git branch --all
mostra todas as ramificações remotas e locais . Quando o Git atualiza esta lista?
Ao puxar / empurrar? E como atualizá-lo usando o Git Bash ?
git
github
branch
remote-branch
BendEg
fonte
fonte
git ls-remote
pode ser interessante aqui.Respostas:
Para atualizar a lista local de ramificações remotas:
Para mostrar todas as ramificações locais e remotas que o Git (local) conhece
fonte
git remote update origin --prune
é o que eu estava procurando thxgit remote update
, e a resposta aceita, que usagit fetch
, veja aquigit 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 executargit 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 remotofeature
que você puxou pelo menos uma vez no Git local. Você veráorigin/feature
listado como um ramo quando executargit branch --all
. Mas esse ramo é realmente um ramo Git local . Quando você fazgit 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.fonte
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 votaramO 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 casogit 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.
fonte
git fetch -p
Use
git fetch
para buscar todas as ramificações criadas mais recentes.fonte
git fetch
não mudou nada para mim com o git 2.17.1. Qual versão e opções você está usando?--prune
ougit 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.
fonte
Se você estiver usando o Eclipse,
Todos deveriam estar lá. Clique com o botão direito e "finalize a compra".
fonte