En la mayoría de los casos, es muy simple el borrar una branch de Git. Ahora aprenderás en este artículo como borrar ambas branches, tanto la local como la remota.

Versión TL;DR

// para borrar la branch local
git branch -d localBranchName

// para borrar la branch remota
git push origin --delete remoteBranchName

Cuando borrar branches

Es común tener diferentes branches en un repositorio Git. Son una gran forma de trabajar con diferentes funcionalidades y correcciones mientras el código nuevo se mantiene aislado del código base existente.

Los repositorios frecuentemente tienen una branch  main para el código principal y los desarrolladores crean diferentes branches para trabajar en diferentes funcionalidades.

Cuando el trabajo de una nueva funcionalidad se completa, frecuentemente se recomienda eliminar la branch asociada a esta funcionalidad.

Borrar una branch LOCAL

Git no te permitirá borrar una branch en la que te encuentres ubicado, así que debes asegurarte primero de hacer checkout a una branch que no estes intentando borrar. Por ejemplo: git checkout main

Borra una branch local con git branch -d <branch>.

Por ejemplo: git branch -d fix/authentication

La opción -d eliminará la branch únicamente si esta ha sido empujada y fusionada con la branch remota. Utiliza -D si deseas forzar la eliminación de una branch, incluso si aún esta no ha sido empujada o fusionada aún.

La branch ya esta borrada localmente.

Borrar una branch REMOTA

Este es el comando para borrar una branch remota: git push <remote> --delete <branch>.

Por ejemplo: git push origin --delete fix/authentication

La branch ya esta eliminada de forma remota.

También puedes utilizar este comando corto para borrar una branch remota: git push <remote> :<branch>

Por ejemplo: git push origin :fix/authentication

Si aparece el siguiente error, esto quiere decir que alguien mas ya ha borrado previamente la 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'

Intenta sincronizar tu lista de branches utilizando:

git fetch -p

La flag -p significa "prune". Después de hacer el fetching, las branches que ya no existan en el repositorio remoto serán eliminadas en el repositorio local.

Traducido del artículo How to Delete a Git Branch Both Locally and Remotely.