Par Anonyme (non vérifié) , 29 avril 2026

L'éparpillement de branches est réel

Après six mois sur un projet actif, git branch peut lister des dizaines de branches mortes. Le nettoyage est une habitude mensuelle de cinq minutes.

Lister les branches mergées

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

Suppression en masse des branches mergées

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

Élaguer les refs remote-tracking obsolètes

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

Trouver les branches sans upstream

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

Détecter les branches dont les remotes ont disparu

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'

Le reflog est votre filet de sécurité

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