List all developers on a project in Git
To show all users & emails, and the number of commits in the CURRENT branch:
git shortlog --summary --numbered --email
Or simply:
git shortlog -sne
To show users from all branches (not only the ones in the current branch) you have to add --all
flag:
git shortlog -sne --all
If you want to be more specific in the list (find a list of unique committer and author), you could use git log
:
git log --pretty="%an %ae%n%cn %ce" | sort | uniq
-
%an
author name -
%ae
author email -
%n
new line -
%cn
committer name -
%ce
committer email
Other placeholders are described in the pretty print documentation of git log
.
You can try this:
git log | grep Author: | sort | uniq
(users that have done commits)
Note: by default git shortlog
groups commits by authors.
If you need to group them by committers, you will need Git 2.12 (Q1 2017)
git shortlog -snc
See commit 03f4082 (16 Dec 2016) by Jeff King (peff
).
See commit fbfda15 (11 Oct 2016) by Linus Torvalds (torvalds
).
(Merged by Junio C Hamano -- gitster
-- in commit ad1b4e2, 27 Dec 2016)
Linus Torvalds himself introduces this feature:
shortlog
: group by committer informationIn some situations you may want to group the commits not by author, but by committer instead.
For example, when I just wanted to look up what I'm still missing from
linux-next
in the current merge window, I don't care so much about who wrote a patch, as whatgit tree
it came from, which generally boils down to "who committed it".So make git shortlog take a "
-c
" or "--committer
" option to switch grouping to that.