Às vezes, quando você trabalha no comando, alguém pode deletar o branch remoto. E quando você entra em seu terminal algum comando como
git branch -a
você pode ver os ramos, que já foram excluídos.
O fato de refs / remotes / origin / feature / algum branch existir em seu repositório local não implica que refs / heads / feature / algum branch exista no repositório remoto de origem
Por exemplo, você deseja excluir algum deste ramo
git push origin :feature/some_branch
E pegue
error: unable to delete 'feature/some_branch': remote ref does not exist
error: failed to push some refs to 'git@github:someone/somewhere.git'
Nestes casos, você precisa fazer
git fetch -p origin
para fazer com que refs / remotes / origin / feature / some_branch desapareçam se já estiver excluído na origem. A opção -p diz ao fetch para excluir quaisquer ramificações de rastreamento que não existam mais nos controles remotos correspondentes; por padrão, eles são mantidos. Você obtém:
x [deleted] (none) -> origin/feature/some_branch