To delete local branches which have alread been merged into master:
git branch --merged master | grep -v "\* master" | xargs -n 1 git branch -d
Remove remote merged branches
git branch -r --merged origin/master | sed '/master/d;/origin/!d;s:origin/::' |xargs -n 1 git push origin --delete