Eu costumava git branch -d myBranch
deletar um galho. Porém, quando estou no master e tento fazer o checkout de um novo branch com git checkout
, myBranch
ainda aparece na aba autocomplete.
Como removo o nome myBranch
do preenchimento automático da guia para git checkout
?
git branch -a
ainda lista quermyBranch
ouorigin/myBranch
? Observe que, mesmo semyBranch
não existir,git checkout myBranch
ainda é um atalho válido paragit checkout -b myBranch origin/myBranch
seorigin/myBranch
existir.Respostas:
Uma possível razão para isso é que, se uma ramificação remota (por exemplo
origin/myBranch
) ainda existir,git checkout myBranch
será bem-sucedida como alternativa agit checkout -b myBranch origin/myBranch
. Isso é pretendido como uma conveniência para o caso comum de check-out de uma filial remota pela primeira vez, criando uma filial de rastreamento local com nome idêntico.Existem outras possibilidades também, dependendo do que exatamente você está usando para a conclusão, mas essa é uma das primeiras coisas que eu verificaria. Se você executar
git branch -a
e houver umorigin/myBranch
listado (ou um para um controle remoto diferente deorigin
, se tiver), é provável que seja o culpado.fonte
origin/myBranch
ainda existe. Se eu excluir omyBranch
branch no Github (por meio da interface online), é seguro ligargit branch -d origin/myBranch
para remover aquele branch remoto?git fetch --prune origin
. Isso limpará todas as ramificações de rastreamento locais que não existem mais no remoto.git fetch --prune origin
que as referências locais a branches remotos desapareçam no preenchimento automático. Pode ser bom mover isso do comentário para a resposta. Em qualquer caso, obrigado pela sua resposta, pois me ajudou!git branch -a
me levou no caminho certo; meu colega de trabalho sugeriugit fetch --prune --all
podar todos os galhos mortos de todos os controles remotos, o que é útil ao trabalhar com muitos desenvolvedores com muitos garfos.git fetch --prune --all
Postando isso como sua própria resposta, pois é uma correção de uma linha, mas se você votar, certifique-se de votar na resposta de @ twalberg acima.
a sugestão de @twalberg para
git branch -a
me levar no caminho certo; meu colega de trabalho sugeriugit fetch --prune --all
podar todos os galhos mortos de todos os controles remotos, o que é útil ao trabalhar com muitos desenvolvedores com muitos garfos.fonte