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

Comparte en redes o resume con la IA

Deja un comentario

ÚLTIMOS ARTÍCULOS

Cierre Ventana

Preview de plugins en WordPress Playground directamente desde el Pull Request

Cuando alguien abre un PR en un plugin de WordPress, el proceso habitual para revisarlo implica descargar la…

Cierre Ventana

3 años en el Plugins Team de WordPress.org

Ayer, 5 de mayo de 2026, cumplo 3 años como parte del Plugins Team de WordPress.org. Y este…

Cierre Ventana

De WordCamp a la meta: un fin de semana entre comunidad y carrera

¡Vaya fin de semana movido! Entre WordCamp Málaga y la Media Maratón de Granada, el fin de semana…