Da Anonimo (non verificato) , 29 Aprile 2026

La proliferazione di branch e reale

Dopo sei mesi su un progetto attivo, git branch puo elencare dozzine di branch morti.

Elencare branch fusi

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

Cancellazione in massa di branch fusi

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

Pruning di branch remote-tracking obsoleti

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

Trovare branch senza upstream

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

Rilevare branch i cui remote sono spariti

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

Un alias di pulizia

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'

Il reflog e la rete di sicurezza

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