Git commiters since commit / branch

How to get all commiters of a Git Repository for a release (starting from a special commit)

In this blog post i want to describe how to get the list of contributors for a git repository for a release.

Requirements

  • You create a release branch for every release, which is common practice to be able to do minor releases (e.g. release-6.2.x)
  • You develop the latest state for the new release in the master branch


Example:

You release Version 6.2.0 a few months ago and are on the way to release version 6.3.0

The question is now: At what time Version 6.2.0 was released, and what happened after that on master for version 6.3.0

Find the first commit of a branch

To do this we need to get the first commit on the branch. There is a great stack overflow post that describes the possibilities:

stackoverflow.com/questions/1527234/finding-a-branch-point-with-git

I decided to work with the alias:

git config --global alias.oldest-ancestor '!zsh -c '\''diff -u <(git rev-list --first-parent "${1:-master}") <(git rev-list --first-parent "${2:-HEAD}") | sed -ne "s/^ //p" | head -1'\'' -‚
git checkout release-6.2.x
git git oldest-ancestor
f6d28cf6dbb161c53336c89ae82848bf32d09348

Now you have the first commit of this branch and can get all commit on the master branch starting from this commit.

Alle Autoren ab einem bestimmten commit finden

Nun können wir alle commits ab dem branch point finden und nach dem Autor greppen, und sortieren:

git checkout master
git --no-pager log f6d28cf6dbb161c53336c89ae82848bf32d09348..HEAD | grep „Author“ | sort | uniq

Navigation