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.
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.
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.
git branch | grep "<pattern>" | xargs git branch -D
git branch | grep "<pattern>" | xargs git branch -D
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.