Удаляем из git локальные ветки, которые уже слили:

git fetch -p && for branch in $(git branch -vv | grep ': gone]' | awk '{print $1}'); do git branch -D $branch; done

Этот сниппет удаляет те ветки, которые были запушены на сервер, но потом удалены (“gone”). Самое полезное в нём то, что он работает с любой merge стратегией: commit, squash, rebase. Нужно просто жать в интерфесе GitHub/GitLab после слияния PR “delete branch”.