git delete all branches without remote code example

Example 1: remove all branches deleted on remote

# set this alias in git.config
git config --global alias.gone "! git fetch -p && git for-each-ref --format '%(refname:short) %(upstream:track)' | awk '\$2 == \"[gone]\" {print \$1}' | xargs -r git branch -D"
# then run
git gone

Example 2: Remove All Local Branches not on Remote

$ git branch -r | egrep -v -f /dev/fd/0  <(git branch -vv | grep origin) | xargs git branch -d

Tags:

Misc Example