Quand on fait des branches on a vite fait d'en avoir pleins.
=> git branch -a activitybugpaginationandadduser apresprod ... // x50 * master remotes/origin/HEAD -> origin/master remotes/origin/activitybugpaginationandadduser remotes/origin/apresprod ... // x50
ps: si je crée une branche, ce scipt la fera aparaitre.
si je push cette branche ce script ne la listera plus.
si je supprime la branche du remote elle n'aparaitra toujours pas. (même si je fais git fetch -p)
git branch --format "%(refname:short) %(upstream)" | awk '{if (!$2) print $1;}'
on peut dans un premier temps supprimer les références locales à des branches distantes qui ont été supprimées du remote. Donc concrêtement les remotes/origin/* qui aparaissent quand on fait git branch -a
git remote prune origin or git fetch -p
Ensuite pour supprime les branches locales qui n'existent plus sur le remote (méthode manuelle)
# supprime les branches mergées git checkout master git branch --merged | grep -v "master" | xargs git branch -d # or # supprime les branches supprimées sur le remote (gone) git checkout master git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -d
sinon ya cet outil qui semble bcp plus safe et interactif
npm install -g git-removed-branches
Après on appelle ça :
# affiche juste git removed-branches # clean git removed-branches -p # clean même quand la branche a pas été mergée git removed-branches -p --force
git push origin -d branchName