Build Status

A JavaScript library to draw pretty git graphs in the browser.

Project page:

How to start

You have different options to start with the library:

Production files are available under the build/ directory.

Report a bug / Ask for a feature

You found some nasty bug or have a cool feature request? Just open a new issue.

Please have a look at the Issue Guidelines from Nicolas Gallagher before doing so.


The JavaScript source code is documented with JSDoc.


Editor preferences are available in for the editor config easy use in common text editors. Read more and download plugins at

The project uses Grunt with convenient methods for our workflow. It's how we lint our code, run tests, generate documentation, etc. To use it, install the required dependencies as directed and then run the following Grunt commands.

Install Grunt

From the command line:

When completed, you'll be able to run the various Grunt commands provided from the command line.

> Need more information about how to get started with Grunt?

Available Grunt commands

test code - grunt test

Check source code against JSHint then runs unit tests with Jasmine.

generate documentation - grunt doc

Generate source code documentation into dist/docs/ (not versioned) with JSDoc.

compile a non-versioned release - grunt dist

Clean dist/ directory, lint code, output the minified release into dist/gitgraph.min.js and generate the documentation into dist/docs/.

compile a new release - grunt release

Lint code, output the source and minified releases into build/ and generate the official documentation into docs/.

open a live reload server - grunt server

For a better code experience, this grunt task opens a live server in your favorite browser. This server is automatically reloaded when you save a project file.

Please note that examples/index.html is the default file for testing ;)


We use SemVer as a guideline for our versioning here.

What does that mean?

Releases will be numbered with the following format:


And constructed with the following guidelines:

  • Breaking backward compatibility bumps the <major> (and resets the <minor> and <patch>)
  • New additions without breaking backward compatibility bump the <minor> (and reset the <patch>)
  • Bug fixes and misc. changes bump the <patch>

Authors and contributors

Nicolas Carlo - @nicoespeon }

Fabien Bernard - @fabien0102

Copyright and License

Copyright (c) 2013 Nicolas CARLO and Fabien BERNARD under the MIT license

> What does that mean?