I follow a development process where I create a new local branch for every new feature or story card. When finished I merge the branch into master and then push.
What tends to happen over time due to a combination of laziness or forgetfulness, is that I end up with a large list of local branches.
I know how to list all my local branches and I know how to remove a single branch but I was wondering if there was a git command that allows me to delete all my local branches?
Below is the output of the
git branch --merged
user@machine:~/projects/application[master]$ git branch --merged
grep -v \*
error: branch 'STORY-123-Short-Description' not found.
error: branch 'STORY-456-Another-Description' not found.
error: branch 'STORY-789-Blah-Blah' not found.
Just a note, I would upgrade to git 1.7.10. You may be getting answers here that won't work on your version. My guess is that you would have to prefix the branch name with
CAUTION, proceed with the following only if you made a copy of your working folder and .git directory.
I sometimes just go ahead and delete the branches I don't want straight from
.git/refs/heads. All these branches are text files that contain the 40 character sha-1 of the commit they point to. You will have extraneous information in your
.git/config if you had specific tracking set up for any of them. You can delete those entries manually as well.