At one point I thought that git fetch origin --prune deleted local branches that were no longer present on the server. Somehow this is not my experience at the
The following command chain can be used to delete local branches:
git branch --v | grep "\[gone\]" | awk '{print $1}' | xargs git branch -D
This should work on MacOS as well as *nix environments.