The formatting:
--pretty="format:%an <%ae>" | sort | uniq | sort --ignore-case
The --pretty
formats for Author Name and Author Email (noting that users who commit via GitHub can choose to hide their email, but their username can be parsed from the placeholder email), returning unique lisings sorted alphabetically ignoring case.
Results from this will only show the committers that have made it to master within the confines defined. It will not include:
django/django
repo.(e.g. 2.2.1 and 2.2.5)
git log 2.2.1...2.2.5 \
--pretty="format:%an <%ae>" | sort | uniq | sort --ignore-case
(e.g. the month of September 2019)
git log --since "SEP 1 2019" --until "SEP 30 2019" \
--pretty="format:%an <%ae>" | sort | uniq | sort --ignore-case
export FIRSTCOMMIT=git rev-list HEAD | tail -n 1
git -C $DJANGO log $FIRSTCOMMIT...1.0 \
--pretty="format:%an <%ae>" | sort | uniq | sort --ignore-case
Noting that in Django’s case, the contributions before 1.0 were made when the repo was still in SVN, so commits are only merge committers. A manual check for log messages with “[Tt]hanks” would show more contributors.