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.