Showing Git Commit Counts

June 08, 2012

For sometime I’ve thought that that using the commit count on a project would make a good version number algorithm. My idea has been to have a file in the project that contains a number. That number is created by a commit hook. Each commit increments the number. I guess this would be more of a “build” number than a true version number. Either way, it would eliminate all the trouble over how to come up with a reliable way to have a MM.mm.pppp version number where MM is the major release, mm is the minor release, and pppp is the patch number.

A quick Google search led me to How to get the git commit count on StackOverflow. As of this posting, answer 14 had two git shortlog commands I liked enough to include in my aliases file.

##Show total number of commits in the current repository This command shows the total number of commits in the current repository for all developers.

git shortlog | grep -E '^[ ]+\w+' | wc -l

##Show number of commits by developer This command is a variation on the first command. It shows each developer’s name and then the number of commits they’ve made to the repository.

git shortlog | grep -E '^[^ ]'

My next project will be to create a git commit hook that works with the first git shortlog command to populate a build count file.

Author's profile picture

Mark H. Nichols

I am a husband, cellist, code prole, nerd, technologist, and all around good guy living and working in fly-over country. You should follow me on Twitter.