Simple api to run git commands from nodejs


Keywords
git, nodejs
License
MIT
Install
npm install git.js@0.0.18

Documentation

git.js

Simple api to run git commands from nodejs

NPM version Build Status Deps Status

NPM

API

Note: most of git.js functions return javascript promises.

First you need to call require('git') to start using git.js API as in example below:

var dir = __dirname; // dir with .git repository
var git = require('git')(dir);

Next you could call any of the following functions.

log command

Use log command to fetch array of commits. Example:

git.log().then(function(commits){
    commits.forEach(function(commit){
        console.log(commit.id); // sha-hash
        console.log(commit.author.name);
        console.log(commit.author.email);
        console.log(commit.date);
        console.log(commit.message);
    });
});

status command

Use status command to fetch array of changed files to be committed to git database. Example:

git.status().then(function(files){
    files.forEach(function(file){
        console.log(file.status);
        console.log(file.path);
    });
});

diff command

Use diff command to fetch diffs for given files. Example:

var files = []; // list of file pathes to get diffs for, all changed files when this list is empty or omitted
git.diff(files).then(function(files){
    files.forEach(function(file){
        console.log(file.from); // path to file from working directory
        console.log(file.lines); // modified lines
        console.log(file.deletions); // number of deletions
        console.log(file.additions); // number of additions
    });
});

other functions

All undocumented functions could be found in the source code.

TODO

  • cover more commands
  • unit tests