A Node.js wrapper for the Git CLI


Gitty is a Node.js wrapper for Git. It's syntax resembles the Git command line syntax, executes common commands, and parses the output into operable objects.

  • Node.js 0.12.x (
  • Git 1.7.x.x (
$ npm install gitty

Run the the unit and integration tests with:

$ npm test
var git    = require('gitty');
var myRepo = git('/path/to/repo');

Now you can call this instance of Repository's methods. For example, to execute git log for myRepo, you would do:

myRepo.log(function(errlog) {
    if (err) return console.log('Error:', err);
    // ... 

For now, use the source, Luke. Pretty much everything you'll need is in lib/repository.js and it's very readable. Running the test suite will be of use as well since all public methods are tested and will print to the console.

Gitty no longer supports username/password authentication over SSH. You should be using SSH keys for that.

myRepo.push('origin', 'master', function(errsucc) {
    if (err) return console.log(err);
    // ... 

Gitty was written by Gordon Hall (
Licensed under LGPLv3 license