Cómo eliminar (eliminar) una rama de Git local y remota en Linux

1 mar 2021 2 min di lettura
Cómo eliminar (eliminar) una rama de Git local y remota en Linux
Indice dei contenuti

Introducción

Las sucursales son parte del proceso de desarrollo diario y una de las características más poderosas de Git. Una vez que se fusiona una rama, no sirve de nada excepto para la investigación histórica. Es una práctica común y recomendada eliminar la rama después de una combinación exitosa.

Esta guía explica cómo eliminar ramas de Git locales y remotas.

Eliminar una rama de Git local

Para eliminar una rama de Git local, use el git branch con la -d ( --delete ):

git branch -d branch_name
Deleted branch branch_name (was 17d9aa0).

Si intenta eliminar una rama que contiene cambios que aún no se han combinado, se mostrará el siguiente mensaje de error:

error: The branch 'branch_name' is not fully merged.
 If you are sure you want to delete it, run 'git branch -D branch_name'.

Como dice el mensaje anterior, puede forzar la eliminación usando la -D, que es un atajo para --delete --force:

git branch -D branch_name

Tenga en cuenta que si elimina una rama no fusionada, perderá todos los cambios en esa rama.

Para enumerar todas las ramas que contienen cambios no fusionados, use el comando git branch --no-merged

Si intenta eliminar la rama actual, se mostrará el siguiente mensaje:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

No puede eliminar la sucursal en la que se encuentra actualmente. Primero, cambie a otra rama y luego elimine branch_name:

git checkout master
git branch -d branch_name

Eliminar una rama de Git remota

En Git, las ramas locales y remotas son objetos separados. Eliminar una rama local no elimina la rama remota.

Para eliminar una rama remota, use el git push con la -d ( --delete ):

git push remote_name --delete branch_name

Donde remote_name suele ser origin:

git push origin --delete branch_name
...
 - [deleted] branch_name

También hay un comando alternativo para eliminar una rama remota, que es más difícil de recordar:

git push origin remote_name:branch_name

Si está trabajando en un proyecto con un grupo de personas e intenta eliminar una rama remota que ya ha sido eliminada por otra persona, recibirá el siguiente mensaje de error:

error: unable to push to unqualified destination: branch_name 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 '[email protected]:/my_repo'

En situaciones como esta, necesitará sincronizar su lista de sucursales con:

git fetch -p

La -p le dice a Git que elimine cualquier referencia de seguimiento remoto que ya no exista en el repositorio remoto antes de buscar.

Conclusión

En este tutorial, aprendió cómo eliminar ramas de Git locales y remotas. Las sucursales son básicamente una referencia a una instantánea de los cambios y tienen un ciclo de vida corto. Una vez que la rama se fusiona con el maestro (u otra rama principal), ya no es necesaria y debe eliminarse.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.