node package manager
Love JavaScript? Your insights can make it even better. Take the 2017 JavaScript Ecosystem Survey »



Gitane bicycle

Build Status

Easy Node.JS Git wrapper with support for SSH keys. By default, the Git CLI tool will only use the SSH key of the current user (e.g. $HOME/.ssh/id_dsa).

In order to be able to use Git with an arbitrary SSH key, a wrapper shell script to invoke ssh -i <key> must be written and the GIT_SSH environment variable must point to that script.

Gitane wraps all this plumbing for you. Simply pass the SSH private key you wish to run Git with as a string argument and let Gitane do the rest. Gitane will clean up the temporary wrapper script after it is done.


Gitane is available in NPM. npm install gitane


  var fs = require('fs')
  var gitane = require('gitane')
  var path = require('path')
  // Use current working dir 
  var baseDir = process.cwd()
  // Read private key from ~/.ssh/id_dsa 
  var privKey = fs.readFileSync(path.join(process.env.HOME, '.ssh/id_dsa'), 'utf8'), privKey, "git clone git://",
    function(err, stdout, stderr, exitCode) {
    if (err) {
      console.log("An error occurred: " + stderr)
    console.log("Git clone complete!")


Gitane comes with tests. To run, simply execute npm test.


Gitane is released under a BSD license.


Picture of Gitane fixie CC-BY Herb Real from