git remote prune origin prunes tracking branches not on the remote.
git branch --merged lists branches that have been merged into the current branch.
xargs git branch -d deletes branches listed on standard input.
Be careful deleting branches listed by
git branch --merged. The list could include
master or other branches you'd prefer not to delete.
To give yourself the opportunity to edit the list before deleting branches, you could do the following in one line:
git branch --merged >/tmp/merged-branches && \ vi /tmp/merged-branches && xargs git branch -d </tmp/merged-branches