Trouver les branches déjà mergées dans git

logo git

En partant du principe que la branche principale du repository est la branche master, la commande suivante permet de retrouver toutes les branches locales qui ont déjà été mergées.

git branch --merged master

Comme le monde est bien fait, il est aussi possible d’obtenir l’information inverse, soit toutes les branches locales n’ayant jamais été mergées.

git branch --no-merged master

À priori, les branches ayant déjà été mergées peuvent être supprimées sereinement. Pour cela, il est possible de les supprimer une par une :

git branch -d old-useless-branch
git branch -d old-useless-branch2
git branch -d old-useless-branch3

Ce qui peut s’avérer fastidieux. Il est possible de toutes les supprimer d’un coup, tout en indiquant quelques exclusions si certaines branches mergées n’ont pas vocation à être supprimées :

git branch --merged master | egrep -v "(^\*|master|dev|brancheAGarder)" | xargs git branch --delete