Cómo eliminar una rama de Git, localmente y de forma remota
Una rama local y su copia remota son dos cosas distintas. A continuación se explica cómo eliminar cada uno, qué significan los errores comunes, cómo limpiar referencias obsoletas y cómo recuperar una rama que eliminó por error.
Escrito por Kodmora
La casa de software detrás de GitTree
- Ramas
- Mandos a distancia y push
- Deshacer y recuperar
En esta página
Para eliminar una rama local, ejecute `git branch -d branch-name`. Para eliminarlo en el remoto, ejecute `git push origin --delete branch-name`. Son acciones separadas: eliminar una deja la otra en su lugar. Git rechaza el primer comando si la rama tiene confirmaciones que no están fusionadas, lo que protege su trabajo.
| Objetivo | Comando |
|---|---|
| Eliminar una rama local fusionada | git branch -d feature/search |
| Forzar la eliminación de una rama local no fusionada | git branch -D feature/search |
| Eliminar la rama en el remoto | git push origin --delete feature/search |
| Eliminar referencias obsoletas de seguimiento remoto | git fetch --prune |
¿Cómo elimino una rama local de Git?
Aléjese primero, porque Git no eliminará la rama en la que se encuentra. Luego bórralo:
git switch main
git branch -d feature/searchGit imprime la última confirmación de la rama. Guarde ese hash por un momento, porque es la forma más fácil de regresar:
Deleted branch feature/search (was 4f2a9c1).¿Cómo elimino una rama remota?
git push origin --delete feature/searchEsto elimina la rama para todos los que usan ese remoto, así que verifique que nadie todavía la necesite y que su solicitud de extracción esté cerrada. Tu copia local permanece hasta que la elimines también.
¿Qué significan los errores de eliminación?
| Mensaje | Significado | Arreglar |
|---|---|---|
not fully merged | La rama tiene confirmaciones que no están en su nivel ascendente ni en HEAD. | Combínalo o usa -D si estás seguro de que no los necesitas. |
cannot delete branch … used by worktree | Estás en él, aquí o en otro árbol de trabajo. | Ejecute git switch main o elimine el otro árbol de trabajo. |
remote ref does not exist | La rama ya desapareció del remoto. | Ejecute git fetch --prune para borrar su copia obsoleta. |
¿Qué hace git remoto podar origen?
Cuando alguien elimina una rama en el remoto, su repositorio mantiene su referencia origin/feature/search hasta que la elimina. La poda elimina esas referencias obsoletas. Nunca toca tus ramas locales:
git fetch --prune
# or, without fetching anything new
git remote prune originPara ver qué ramas locales perdieron su copia remota, busque gone en la lista detallada:
git branch -vv¿Cómo recupero una rama eliminada?
Una rama es solo un nombre para una confirmación, por lo que eliminarla no elimina las confirmaciones de inmediato. Crea el nombre nuevamente a partir del hash impreso por Git, o encuéntralo en el reflog:
git branch feature/search 4f2a9c1
# no hash? search the reflog
git reflogHaga esto pronto: las confirmaciones inalcanzables eventualmente se limpian mediante la recolección de basura. La publicación sobre recuperar un alijo caído o una rama eliminada cubre los casos más difíciles, y la lección sobre ramas y cambio explica por qué una rama es tan barata.
Cómo eliminar una rama en GitTree
Abrir el menú de la rama.
Haga clic derecho en la etiqueta de la rama en el gráfico. El menú nombra la rama en cada acción.
Elija Eliminar
GitTree dice lo que se elimina y que la última confirmación se guarda en
refs/ogt/trash. Cancelar es la opción predeterminada, así que presione Eliminar característica/búsqueda para confirmar.Eliminar también la copia remota
Eliminar... y origen/... elimina ambos, confirmado con Eliminar ambos. Una rama eliminada en el remoto no se puede recuperar desde GitTree.
¿Cambiaste de opinión?
Presione Deshacer en la barra de herramientas justo después de una eliminación local para recuperar la rama.
La guía para cambiar el nombre y eliminar ramas tiene los detalles, y cómo cambiar el nombre de una rama cubre cómo cambiar un nombre.

Preguntas frecuentes
¿Eliminar una rama elimina sus confirmaciones?
No de inmediato. Se mantienen los commits en otras ramas. Las confirmaciones solo en esa rama se vuelven inalcanzables y se pueden recuperar hasta que la recolección de basura las elimine.
¿Cuál es la diferencia entre git branch -d y -D?
-d se niega a eliminar una rama con confirmaciones no fusionadas. -D lo elimina de todos modos, así que úsalo sólo cuando estés seguro.
¿Eliminar una rama local elimina la remota?
No. Están separados. Utilice git push origin --delete branch-name para el remoto.
¿Por qué sigue apareciendo una rama remota eliminada?
Su repositorio todavía tiene la referencia de seguimiento remoto. Ejecute git fetch --prune para eliminarlo.
¿Puedo eliminar varias ramas a la vez?
Sí. git branch -d one two three elimina cada nombre que enumeras y git push origin --delete one two hace lo mismo en el remoto.
Fuentes
Las afirmaciones sobre otros productos se compararon con sus páginas oficiales el 7 de noviembre de 2026. Los precios y las características cambian; Las páginas de los proveedores son la fuente de la verdad.