Saltar al contenido
GitTree
guías de git4 minutos de lectura

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

Actualizado
  • 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.

¿Qué comando elimina qué?
ObjetivoComando
Eliminar una rama local fusionadagit branch -d feature/search
Forzar la eliminación de una rama local no fusionadagit branch -D feature/search
Eliminar la rama en el remotogit push origin --delete feature/search
Eliminar referencias obsoletas de seguimiento remotogit 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/search

Git 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/search

Esto 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?

Errores comunes al eliminar una rama
MensajeSignificadoArreglar
not fully mergedLa 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 worktreeEstá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 existLa 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 origin

Para 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 reflog

Haga 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

  1. 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.

  2. 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.

  3. 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.

  4. ¿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.

El menú de rama en GitTree nombra la rama en cada acción, para que puedas ver qué eliminará Eliminar.
El menú de rama en GitTree nombra la rama en cada acción, para que puedas ver qué eliminará Eliminar.

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.