Is there a script to list git branches created by me?

hawkeye picture hawkeye · Mar 16, 2016 · Viewed 33.8k times · Source

I'm aware that branches don't really store creator information - and they're just a pointer to a commit.

My goal is to be able to clean out my old branches that have been merged back to the main branch, and list branches where this hasn't been done either. (A clean up).

This is different to "finding unmerged branches" because I want to find merged branches as well, and I want to do it by author.

My question is: Is there a script to list git branches created by me?

Answer

SachinSunny picture SachinSunny · Mar 16, 2016

This command lists all branches and their author names

git for-each-ref --format=' %(authorname) %09 %(refname)' --sort=authorname 

If you are using github you can also visit https://github.com/author/repo/branches/yours to get all your branches

If you want to just delete all the already merged branches you can us the command

git branch --merged | grep -v "\*" | grep -v master | grep -v dev | xargs -n 1 git branch -d

For more details of git for-each-ref visit here.