Git: Eliminar una rama local
Última actualización
Una vez que el trabajo de una rama está fusionado, la eliminas con git branch -d <branch>. Git se niega si la rama tiene commits que no están fusionados en ningún sitio: es una comprobación de seguridad. Para eliminarla de todos modos, usa la -D mayúscula. Eliminar una rama local nunca afecta a la copia en el remoto; ese es un comando aparte.
Prueba esto en el terminal playground: una shell real en tu navegador, sin nada que instalar.
Sintaxis
| Command | What it does |
|---|---|
git branch -d feature | Elimina feature (solo si está fusionada) |
git branch -D feature | Fuerza el borrado de feature aunque no esté fusionada |
git branch -d branch1 branch2 | Elimina varias ramas a la vez |
Casos comunes
| Goal | Command |
|---|---|
| Eliminar una rama fusionada | git branch -d old-feature |
| Forzar el borrado de una rama sin fusionar | git branch -D scratch |
| Eliminar la rama en la que estás | git switch main luego git branch -d feature |
| Ver qué ramas están fusionadas | git branch --merged |
Ejemplo práctico
Termina una funcionalidad, fusiónala y limpia la rama local.
| Step | Command | Result |
|---|---|---|
| 1 | git switch main | Sal de la rama que quieres eliminar |
| 2 | git merge feature | Trae los commits de la funcionalidad a main |
| 3 | git branch -d feature | Elimina la rama ya fusionada |
Preguntas frecuentes sobre eliminar una rama local en Git
¿Cuál es la diferencia entre git branch -d y -D?
-d es el borrado seguro: Git solo elimina la rama si sus commits ya están fusionados en otra rama, así no puedes perder trabajo por accidente. -D es el borrado forzado (abreviatura de --delete --force): elimina la rama pase lo que pase, incluso si tiene commits sin fusionar. Usa -d por defecto y recurre a -D solo cuando estés seguro de que quieres descartar los commits de la rama.¿Cómo elimino la rama en la que estoy actualmente?
No puedes eliminar la rama que tienes activa (checked out). Cambia primero a otra rama con
git switch main (o git checkout main), y luego ejecuta git branch -d feature. Si intentas eliminar la rama actual, Git da el error "Cannot delete branch ... checked out".¿Eliminar una rama local la elimina en GitHub?
No.
git branch -d solo elimina la rama de tu repositorio local. La rama en el remoto (GitHub, GitLab, etc.) permanece hasta que la elimines por separado con git push origin --delete feature.¿Puedo recuperar una rama que eliminé?
Normalmente sí, si fue reciente. Ejecuta
git reflog para encontrar el commit al que apuntaba la rama, y luego recréala con git branch feature <commit-hash>. Los commits no se recolectan como basura de inmediato, así que una rama eliminada por error normalmente se puede restaurar.¿Puedo practicar esto en línea?
Sí. Abre el terminal playground para ejecutar estos comandos en una shell real en tu navegador, sin nada que instalar. Cuando quieras estructura, el curso interactivo y gratuito de Git de Coddy te lleva desde tu primer commit hasta el branching y el merging paso a paso.