When using Git extensively, you'll likely have multiple branches which need to be cleaned up from time to time. In some repositories I have hundreds of
release/ branches, which are already merged to the
master branch and deleting them manually would be a mess.
So here's how to delete all branches from the server, that are already merged to the
master branch. In this case, branches need to start with either
release/ but you can simply adjust this to match your needs.
git remote update origin --prune git checkout master git pull origin master git branch -r --merged master | grep -E 'feature\/|hotfix\/|release\/' | sed 's/origin\///g' | xargs git push origin --delete