Git: How to delete all the merged branches
Who has a repository without
dead already merged branches? Admit it, almost no one. In my team, especially since we decided to move to git flow, this ideal situation rarely happens. It is not that uncommon forget to delete a merged branch from remote, it happens to everyone. But
I believe a tidy repository should give you the possibility to have a look at its status just with a glance.
After some research I ended up with the following command to delete all your merge branches in one go:
git branch -r --merged | grep origin | grep -v '>' | grep -v master | xargs -L1 | cut -d"/" -f2- | xargs git push origin --delete
PS: Be careful to use the correct branch as reference, once I deleted develop by mistake :D
Unfortunately git flow doesn't take care of deleting the branches when merged. This behaviour could be a good thing if you love to try to fuck up your work playing with rebase and squash (like me). ↩︎