Per recent co-worker interest in metrics surrounding team performance, the following offer a few simple techniques for extracting team-health-oriented metrics from a git repository. Note that these are just a few basic solutions which require minimal tooling. Many alternative and more-developed solutions exist too.
View the Total Number of Commits Per Developer within the Codebase
View the Total Number of Commits Per Developer Within a Sprint
This example assumes that the sprint began on July 1st and ended July 14th.
1 | git shortlog -sne --after=2012-07-23 --until=today
|
This example assumes that the sprint began on July 1st and ended July 14th, and that tests are contained within a spec
directory.
1 | git shortlog -sne --after=2012-07-01 --until=2012-07-14 spec/
|
How Many Lines of Code Did a Developer Add and Remove Within a Sprint?
1
2 | git log --author="A. Developer" --after=7-14-2012 --before=2012-07-14 --pretty=tformat: --numstat | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END \
{ printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
|
Who Worked on What Throughout a Sprint?
1 | git shortlog --after=2012-07-01 --until=2012-07-14
|
Examine the Total Number of Commits, Lines of Code, Files Edited, and Respective Percentage Values Per Developer Throughout the Project's History
This example uses a handy Ruby Gem called git_fame.
1
2 | gem install git_fame
git fame
|