Versão resumida
// excluir um branch no local
git branch -d nomeDoBranchLocal
// excluir um branch remoto
git push origin --delete nomeDoBranchRemoto
Quando excluir branches
É comum que um repositório do Git tenha diversos branches. Eles são uma ótima maneira de trabalhar com recursos (features) e consertos (fixes) diferentes enquanto isolamos o código novo da base de código principal.
Os repositórios geralmente têm um branch master
ou main
para a base de código principal. Os desenvolvedores, então, criam outros branches para trabalhar em recursos diferentes.
Ao concluir o trabalho em um recurso, recomenda-se excluir o branch.
Excluir um branch LOCAL
O Git não deixará que você exclua o branch no qual você está trabalhando no momento. Por isso, certifique-se de fazer o checkout para um branch que você NÃO quer excluir. Por exemplo: git checkout master
ou git checkout main
.
Exclua um branch com o comando git branch -d <branch>
.
Exemplo: git branch -d fix/authentication
A opção -d
excluirá o branch somente se você já fez o push e o merge com o branch remoto. Use a opção -D
em vez disso se quiser forçar a exclusão do branch, mesmo que você ainda não tenha feito o push e o merge com ele.
O branch, agora, foi excluído do local.
Excluir um branch REMOTO
Este é o comando para excluir um branch remoto: git push <remote> --delete <branch>
.
Exemplo: git push origin --delete fix/authentication
O branch, agora, foi excluído remotamente.
Também é possível usar um comando menor para excluir um branch remotamente: git push <remote> :<branch>
Exemplo: git push origin :fix/authentication
Se aparecer para você o erro abaixo, isso quer dizer que outra pessoa já excluiu o branch.
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 sua lista de branches usando:
git fetch -p
A flag -p
significa “prune” (remover). Depois de fazer o fetch, os branches que já não existem mais remotamente serão excluídos.