Como deletar uma branch no Git (local e remoto)
Geralmente é simples excluir uma branch do Git. Aprenda nesse artigo como excluir uma ramificação do Git local e remotamente.
É comum trabalhar com múltiplas branchs
(ramificações) em repositórios Git
.
Essa é uma ótima maneira de trabalhar em diferentes recursos e correções, pois isolam o novo código da base de código principal.
Normalmente os repositórios têm uma ramificação principal chamada main
ou master
e os desenvolvedores criam outras ramificações para trabalhar em diferentes recursos.
Após o trabalho nesse recurso for finalizado, é recomendável excluir a ramificação para garantir que o repositório fique sempre o mais limpo e organizado possível.
Excluindo uma branch(Ramificação) local
O Git
não permitirá que você exclua a branch
ativa no momento, portanto, certifique-se de fazer o checkout
para uma ramificação que você não esteja querendo excluir.
Por exemplo:
git checkout main
Após sair da branch
que deseja deletar, basta executar: git branch -d <branch>
.
Por exemplo, para deletar a ramificação nova-funcao
:
git branch -d nova-funcao
A opção -d
excluirá a ramificação somente se ela já tiver sido enviada e mesclada com a ramificação remota.
Use -D
caso queira forçar a exclusão da ramificação, mesmo que ela ainda não tenha sido enviada ou mesclada.
Após executar o comando, a ramificação é excluída localmente.
Excluindo uma branch(Ramificação) remota
Para excluir uma branch
remotamente, realize um push
com o parâmetro --delete
, da seguinte forma: git push <remote> --delete <branch>
.
Por exemplo, para deletar a ramificação nova-funcao
:
git push origin --delete nova-funcao
A ramificação agora está excluída remotamente.
Você também pode usar este comando mais curto para excluir uma ramificação remotamente: git push <remote> :<branch>
Por exemplo, para deletar a ramificação nova-funcao
:
git push origin :nova-funcao
Se você receber o erro abaixo, pode significar que outra pessoa já excluiu a branch
, ou essa branch
nunca existiu no repositório remoto.
error: unable to push to unqualified destination: remoteBranchName The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to 'git@repository_name'
Tente sincronizar seu repositório utilizando:
git fetch -p
A flag -p
significa que após a busca, as ramificações que não existem mais no controle remoto serão excluídas.
Conclusão
Excluir uma branch
, tanto localmente quanto remotamente não é uma tarefa muito difícil, porém caso assim como eu você viva esquecendo comandos simples, você sempre poderá recorrer ao trecho de código abaixo.
// deletar branch local
git branch -d nome-da-branch
// deletar branch remota
git push origin --delete nome-da-branch