Covil Do Dev

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.


Lindomar Rodrigues
Lindomar Rodrigues

Atualizado

É 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

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br