How to delete/prune old local git branches

When you delete a branch with git, and push those changes, you might see that your local repo still has that branch in the list


git fetch -p && git branch -vv | awk '/: gone]/{print $1}' | xargs git branch -d

What this basically does is fetch all the branches and all the ones with a ‘gone’ attribute, (meaning deleted remotely), then we will remove them.

You can view the branches and what their attribute is yourself by typing

git branch -vv

Of course, you need to prune the branches on the remote git server

git remote prune origin

To make sure all is good, just re-list your branches, (local and remote)

git branch --vv -a