Cómo eliminar una rama en Git

Publicado el 11 octubre 2024 por Daniel Rodríguez @analyticslane

En algunas situaciones, cuando se trabaja con Git, puede ser necesario eliminar ramas de un repositorio. Por ejemplo, para mantener el repositorio limpio, evitar confusiones con ramas obsoletas o, simplemente, organizar el flujo de trabajo de una forma más sencilla. Aunque no es habitual, es una operación que se puede hacer fácilmente tanto en repositorios locales como remotos. En esta entrada, se explicará en primer lugar los pasos necesarios para eliminar una rama en Git local y posteriormente como realizar la misma operación en un repositorio remoto.

Cómo eliminar una rama local en Git

Antes de poder eliminar una rama en un repositorio remoto es necesario realizar la operación en el local. Por lo que es importante saber cómo se borra una rama local. Para ello, es necesario obtener un listado de las ramas locales y remotas del proyecto, usando para ello el siguiente comando:

git branch -a

Un comando que mostrará tanto las ramas del repositorio local como del remoto. Pudiendo de este modo saber cuáles son las que se han sincronizado con el repositorio remoto y cuáles no. Las ramas remotas aparecerán con el prefijo remotes/origin/ seguido del nombre de la rama. Si no se desean ver las ramas del repositorio remoto simplemente se debe omitir el parámetro -a.

Ahora, para eliminar una rama local que ya no es necesaria, solamente se debe ejecutar el siguiente comando:

git branch -d nombre-rama

Donde se debe reemplazar nombre-rama con el nombre de la rama local que se desea eliminar. Al lanzar el comando, se eliminará la rama local, siempre que esta haya sido integrada con otra. Si la rama no ha sido integrada, será necesario cambiar el comando -d por -D para formar su eliminación, ya que los cambios de la rama se perderán definitivamente. Esto es, el comando a ejecutar debería ser el siguiente:

git branch -D nombre-rama

Al finalizar la ejecución del comando, se mostrará un mensaje indicando que la rama ha sido eliminada localmente. Pero este cambio no afecta a las ramas en el repositorio remoto, ya que seguirá existiendo en este.

Cómo eliminar una rama remota en Git

Los comandos de la sección anterior solamente afectan al repositorio local. En este punto, si se ejecuta el comando git branch -a seguía apareciendo la rama en el repositorio remoto. Para conseguir que el cambio afecta también al repositorio remoto es necesario ejecutar el siguiente comando:

git push origin -d nombre-rama

En este caso, al incluir origin el comando se ejecuta en el repositorio remoto.

Verificar la eliminación de la rama remota

Una vez ejecutado el comando anterior, se puede verificar si la rama se ha eliminado correctamente volviendo a listar todas las ramas remotas con:

git branch -a

Si los pasos se han ejecutado correctamente, la rama ya no aparecerá en los listados de ramas locales y remotas.

Conclusiones

Los comandos git push -d nombre-rama y git push origin -d nombre-rama permiten eliminar una rama en Git, tanto en el repositorio local como en el remoto. Primero, la rama se debe eliminar en la copia local. En este punto, los cambios realizados no tienen impacto en el repositorio remoto, siendo necesario ejecutar el segundo comando para aplicar los cambios en el remoto.

Nota: La imagen de este artículo fue generada utilizando un modelo de inteligencia artificial.