Removing Local Git Branches That Aren't 'master'
September 7, 2018Every so often, I’ll want to delete all of my local branches for a repository that aren’t the master branch. An easy command to do this is:
$ git branch | grep -v "master" | xargs git branch -d
(If you want to keep multiple branches, such as master and develop, you can chain them together using grep -v "master\|develop")
git branch lists all of the local branches for the repo, grep -v prints all of the lines from the previous command that don’t match “master”, and xargs takes each line from the previous output and runs git branch -d <output_line>.
I recommend using -d rather than -D in case git recommends not deleting the branch.