> There's "branch --merged" already. And in recent versions of git, the > scriptable for-each-ref knows it, too. So you could do something like: > > git for-each-ref --format='delete %(refname)' --merged HEAD refs/heads/ | > grep -v 'any-branches-you-want-saved' | > git update-ref --stdin Yeah I wanted to avoid anything else that git branch -d, as it doesn't delete the currently checked out. I am not really familiar with plumbing commands. > The "--merged" option to git-branch is only used for listing. In theory > we could use it for selection in other operations, like "git branch -d > --merged". But I'm not sure how you'd tell it _not_ to delete the branch > that matches HEAD. Last time I checked git branch doesn't delete the currently checked out branch, does it? Adding the --merged to `git branch -d` would be awesome Javier