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
feature/, hotfix/ and 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 feature/,
hotfix/ or 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