After a while typically we have a lot of not any more required local branches. Therefore an easy way to clean this up
Remove ALL local branches that are not on remote
git fetch -p && git branch -vv | grep ': gone]' | awk '{print $1}' | xargs git branch -D
Remove ALL local branches that are not on remote AND that are fully merged AND that are not used
git fetch -p && git branch --merged | grep -v '*' | grep -v 'master' | xargs git branch -d
This is based on https://stackoverflow.com/a/59912825 where more details can be found