Artículo original: https://www.freecodecamp.org/news/how-to-delete-a-git-branch-both-locally-and-remotely/
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.