Quando as ramificações são excluídas remotamente, você precisa remover seu repositório local - a maneira mais fácil de fazer isso é com
git fetch -p
Isso atualizará seu repositório local com todas as alterações feitas no repositório remoto, mas sem atualizar nenhuma das suas ramificações locais. Depois de executar isso,
git branch --remote
não mostrará mais o ramo remoto excluído.
Os repositórios git estão completos, seja no seu próprio sistema ou no servidor. Então, quando você clonar um repositório pela primeira vez, você obtém uma cópia completa, e o seu git local “sabe” sobre todas as ramificações remotas, bem como suas ramificações locais. Essas informações não são sincronizadas automaticamente. Por isso, quando seu colega excluiu a ramificação release
no servidor, seu repositório git local não perdeu a noção de uma ramificação release
remota. A sincronização com git fetch
atualiza todas as informações locais em ramificações remotas para que elas correspondam ao estado no servidor (estritamente falando, repositório remoto, onde quer que seja), mas sem excluir nenhuma informação local em ramificações remotas. A remoção com git fetch -p
(ou git fetch --prune
ou git remote prune
) remove as informações locais em ramificações remotas que foram excluídas.