My colleage Joe asked me tonight, "how to remove those branches that no longer exist on remote?"
In short, you have two options
git remote prune originat times
git config --global fetch.prune truecommand to config your git to delete those branches every time when you run
I prefer the second option, how about you?