Por Anónimo (no verificado) , 29 Abril 2026

El sprawl de branches es real

Después de seis meses en un proyecto activo, git branch puede listar docenas de branches muertos. La limpieza es un hábito mensual de cinco minutos.

Listar branches mergeados

git checkout main
git pull
git branch --merged
git branch --no-merged

Eliminación masiva de branches mergeados

git branch --merged main | grep -v -E '^\\*|^\\s*(main|master|develop)$' | xargs -n 1 git branch -d

Podar refs remote-tracking obsoletos

git fetch --prune
git config --global fetch.prune true

Encontrar branches sin upstream

git branch -vv | grep -v origin/
git for-each-ref --format='%(refname:short) %(upstream)' refs/heads

Detectar branches cuyos remotes han desaparecido

git fetch --prune
git branch -vv | awk '/: gone]/{print $1}'

Un alias de cleanup

git config --global alias.cleanup '!git fetch --prune && git branch --merged main | grep -v -E "^\\*|^\\s*(main|master|develop)$" | xargs -n 1 git branch -d'

El reflog es tu red de seguridad

git reflog | grep accidentally-deleted
git checkout -b accidentally-deleted <sha>