Cómo limpiar ramas locales que ya no existen en el repositorio remoto con un solo comando

Cuando trabajamos en diferentes proyectos y además usamos la estrategia que siempre recomiendo Trunk Based development, es habitual que creemos muchas ramas temporales. Algunas se eliminan del repositorio remoto después de hacer merge o cerrar una tarea, pero permanecen en nuestro entorno local… ocupando espacio y ensuciando la lista de ramas. Sobre todo dificulta para buscar las ramas que estamos trabajando.

Pero Git nos da una forma rápida de limpiar esas ramas locales que ya no tienen su equivalente remoto. Te explico un comando que uso con frecuencia para dejar mi repositorio local impecable:

🧪 El comando mágico:

git fetch -p && git branch -vv | grep 'gone]' | awk '{print $1}' | xargs git branch -D

🧠 ¿Qué hace exactamente?

Vamos paso a paso:

  1. git fetch -p
    • Actualiza la información del repositorio remoto.
    • La opción -p (o --prune) elimina las referencias a ramas remotas que ya no existen.
    • Nos asegura que Git sabe cuáles ramas han desaparecido del remoto.
  2. git branch -vv
    • Muestra todas las ramas locales con detalles: tracking, último commit, y si están desfasadas.
    • Aquí es donde Git nos dice si una rama está marcada como [gone].
  3. grep 'gone]'
    • Filtra las ramas locales cuyo tracking remoto ha desaparecido.
  4. awk '{print $1}'
    • Extrae solo el nombre de la rama local de cada línea.
  5. xargs git branch -D
    • Elimina forzosamente todas esas ramas locales huérfanas.
    • ⚠️ Usa -D en lugar de -d para no tener que comprobar si han sido fusionadas.

🎯 ¿Cuándo usar este comando?

  • Después de hacer merge de ramas de características o fixes.
  • Tras un git pull en el main o develop.
  • Cuando notas que tu lista de ramas empieza a parecer un cementerio de ramas antiguas.

📌 Consejo extra

Si prefieres ir con más cuidado, puedes cambiar -D por -d en el último paso:

xargs git branch -d

Esto eliminará solo las ramas que ya han sido fusionadas y evitará pérdidas accidentales.


Con este comando, puedes mantener tu entorno limpio, ordenado y sin ramas obsoletas que solo ocupan espacio. ¡Pruébalo y verás lo bien que sienta una limpieza de ramas

Basado en este artículo de blog

Deja un comentario

ÚLTIMOS ARTÍCULOS

Cierre Ventana

WordCamp Europe 2025 Basilea: Más PLUGINS

Cada año me sorprendo de este evento y de cómo profesionales dedicados a WordPress nos juntamos cada año…

Cierre Ventana

Cómo limpiar ramas locales que ya no existen en el repositorio remoto con un solo comando

Cuando trabajamos en diferentes proyectos y además usamos la estrategia que siempre recomiendo Trunk Based development, es habitual…

Cierre Ventana

Mi segundo Año en el Equipo de Revisión de Plugins de WordPress

Y sí! ya llevo dos años contribuyendo en WordPress en el equipo de Plugins. Para quien no conozca…

Logo David
Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.Para más información consulta nuestra <a href="/politica-privacidad/">Política de Privacidad</a>