Node.js bindings for libgit2
JavaScript C++ CSS Python Makefile CoffeeScript C
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.


build status npm version Dependency Status devDependency Status


Gitteh requires node 0.8 or 0.10, CMake 2.6 and gcc. Installation via NPM:

npm install gitteh


Node bindings to the excellent libgit2 C library. Right now, the bindings cover read only access to raw objects (trees/commits/blobs/tags/references), and basic access to remotes (including basic cloning/fetching support).

Gitteh aims to:

  • Be simple and convenient
  • Be as performant as possible - avoids calling into underlying C library as much as possible.
  • Be safe for use in Node's threadpool (read: shouldn't segfault your app)


There's a few libraries out there that wrap git cli commands, parsing the output and such. This is a perfectly acceptable solution. Node-gitteh provides first-class support to work with a git repository on a low level, and does not require git.git (and its myriad of dependencies) to be installed in the server environment.

The documentation is currently outdated. We're working on a new version currently for the new 0.17.x version of gitteh. The Old pre-0.17.x documentation can be found here. Instead, you should visit examples dir in the repo to see examples of 0.17.x usage.


Gitteh is available under the MIT License. See the LICENSE file for more information.


Contributions are very welcome. Please feel free to fork this project and hack on it. Go ahead and check out the issues tab to see what needs to be done! Go on! Do it!


git clone
cd node-gitteh && npm install

Happy hacking!