Supprimer toutes les branches mergées sur votre dépot distant en 1 ligne de commande c’est possible !
TL;DR
git branch -r --merged master | grep -v master | sed 's/origin\///' | xargs -n 1 git push --delete origin
Exemple excluant une branche nommée develop
git branch -r --merged master | grep -v master | grep -v develop | sed 's/origin\///' | xargs -n 1 git push --delete origin
Explications
git branch -r --merged master
va récupérer la liste des branches distantes mergées (par rapport à master)grep -v master
va exclure la branche master des résultats (vous pouvez ajouter d’autres branches à exclure si nécessaire)
Ces 2 premières commandes combinées vont renvoyés un résultat dans ce style :
origin/t-619
origin/t-63
origin/t-675
origin/t-707
origin/t-808
origin/t-809
origin/t-819
sed 's/origin\///'
permet de supprimer leorigin/
xargs -n 1 git push --delete origin
va prendre chaque ligne renvoyée et lancer la commandegit push --delete origin BRANCHE