Supprimer plusieurs branches Git d'un seul coup

Quand on travaille sur un projet Git, au bout d'un moment, on peut vite se retrouver avec une tonne de branches qui sont totalement obsolètes.

Jérémy 🤘
Jérémy 🤘

Quand on travaille sur un projet Git, au bout d'un moment, si on ne fait pas le ménage souvent, on peut vite se retrouver avec une tonne de branches qui sont, pour la plupart, totalement obsolètes. Du coup, aujourd'hui je vais vous proposer quelques scripts pour faire le ménage de facile et rapide.

Supprimer les branches via une pattern

Une façon rapide de supprimer toutes les branches locales est de passer par une pattern qui va toutes les supprimer d'un coup. Attention toutefois à bien avoir vos branches soient mergées soit pushées sur le remote.

Copier
git branch | grep "<pattern>"
git branch | grep "<pattern>"

Maintenant que vous avez vu la liste des branches qui vont être supprimées vous pouvez lancer la commande suivante qui supprimera toutes les branches précédemment listées.

Copier
git branch | grep "<pattern>" | xargs git branch -D
git branch | grep "<pattern>" | xargs git branch -D

Supprimer les branches locales qui ont été supprimées sur le remote

Partons du principe que la plupart de vos branches locales ont toutes été mergées sur le remote et qu'elles n'existent plus dessus. Plutôt que de supprimer les branches via le script précédent, il est préférable de passer par le script deluntrackedbranch.sh que vous pouvez trouver sur le repo steevanb/gitscripts.

Ce repo propose aussi divers autres scripts qui vont vous permettre de faire plein d'autres actions plus facilement qu'avec les lignes de commandes classiques.

Source