Harsh J

Memoirs of a QWERTY Keyboard

Visualizing Git workflows in Linux

leave a comment

Working with an SCM like Git, SVN, etc is a great experience all in all. Its more fun than just the part which manages your files for you. Its almost like a huge data source in itself, which you can mine for rich data (which may be useless, or may turn out some great workflow-changing points).

Git has some excellent command line tools to query log, branch and other data. After seeing what GitX does using a plain git repository folder on Mac OS X, I was hunting for a Linux tool that does similar things with respect to branches. I came across gitg which is a fantastic UI for Git on Linux (GTK).

It looks like the following:

GitG - Graphical frontend for Git

gitg - Rich visualizations for git workflow

Get gitg here. Or install it via your package manager and have fun pointing and laughing at your merge stupidness!

Another way to dig into the data is by looking at SCM file-level data such as Author, Domain of an author, Distribution of commits over the week, etc. There are two tools available for this, Gitstats and Gitstat. I liked the former for its ease of setup and the number of statistics shown. The latter is a fairly more advanced tool but with fewer features and requires a Database to work over a web server.

gitstats - Statistics for # of commits over a week's days

gitstats - Statistics for # of commits over a week's days (For the git project itself)


Get gitstats here and just do a ‘gitstats [cloned directory] [output directory for html files]‘ or get gitstat here and have fun setting it up. I’d recommend adding the former as a cron job based on your commit interval statistics and getting done with it.

Written by Harsh

July 17th, 2010 at 2:39 am

Posted in Personal

Tagged with , , , ,