Reputation: 31868
There was a branch created by a user (knownUserName
) in our code repository (repoEx
). Where he committed and push
ed a few of his changes, but he didn't create a pull request for the same.
It has been long and there is an exponential increase in the number of branches that the repository now has because of which we are unable to go through all the branches and find the one created by him.
Is there a way to search all the branches using the git
command line or GitHub
interface, to find all the branches created by a user in a specific repository?
I tried using the GitHub interface and filtering the branches (under https://github.com/repoEx/branches/all
) using the search parameter as -
author:<knownUserName>
but this won't work. The search seems to be effective with a branch name, but I don't have any clue about the name.
Upvotes: 15
Views: 26157
Reputation: 437
alternatively you can search for user on github.com and look at his activity. It doesnt answer completely to your question but may help in many cases
Upvotes: 0
Reputation: 17
CLick on branches and after that you will see an option saying your branches Click here to see the image!
Upvotes: -8
Reputation: 69757
This is for OS X. Just adding grep on to this answer here and modifying for email, you get
git for-each-ref --format='%(committerdate) %09 %(authoremail) %09 %(refname)' | sort -k5n -k2M -k3n -k4n | grep <author-email>
which works quite well.
[Other answer did not work for me, not sure why]
Upvotes: 12
Reputation: 7622
Loop on the branch, display the last commit information, and grep on the username.
You will have the commit id you are looking for:
for co in `git branch -a --no-merge`; do git log -1 --no-walk --pretty=format:"%h - %an, %ar : %s" $co; done | grep <knownUserName>
Upvotes: 5