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

Analiza tu código automáticamente con PHPSTAN

En proyectos de WordPress, mantener un código limpio y libre de errores es fundamental para garantizar la calidad,…

Cierre Ventana

Desarrolla y crea Test para que tus plugins no tengan errores

Este es el tutorial que vamos a tener en cuenta para la charla de la WordCamp Galicia 2025.…

Cierre Ventana

A great year on the WordPress plugin team

It’s been a great year for the WordPress Plugins Team. You can see the numbers in a summary…

Este sitio está registrado en wpml.org como sitio de desarrollo. Cambia a una clave de sitio de producción en remove this banner.