A nice Git wrapper for Node.
npm install gity
- Simple, chainable API
- Small and only one dependency
- Supports all of the most common git commands
- By default, provides nicely parsed output from commands like
status
andlog
var Git = require('gity');
var git = Git()
.add('*.js')
.commit('-m "added js files"')
.run();
var Git = require('gity');
var git = Git()
.add('*.js')
.commit('-m "added js files"')
.status()
.run(function(err, res){
// ... { untracked: [], modified: [], created: [], deleted: [] };
});
var Git = require('gity');
var git = Git({ pretty: false }) // passes stdout into res
.add('*.js')
.commit('-m "added js files"')
.status()
.run(function(err, res){
// ...
});
var Git = require('gity');
var git = Git({ base: '../repo' }) // sets the base folder to '../repo'
.init()
.run(function(err, res){
// ...
});
Create a new instance of Gity.
The available options are:
base
: set the base folder to run the command from, defaultprocess.cwd()
.pretty
: give pretty output instead of stdout, defaulttrue
.
git.add('-A');
git.add('*.js');
git.add('--All');
git.add('index.js');
git.bisect('start');
git.bisect('bad');
git.bisect('good');
git.branch(); // (e.g. 'master')
git.branch('-D feature');
git.checkout('feature');
git.checkout('-b demo');
git.clone('git://git.kernel.org/pub/scm/.../linux.git my-linux');
git.commit('--short');
git.commit('-m "testing"');
git.diff('topic master');
git.diff('Readme.md package.json');
git.diff('git diff --name-status');
git.fetch();
git.fetch('origin');
git.grep("'time_t' -- '*.[ch]'");
git.init();
git.init('-q');
git.log();
git.log('git log --no-merges');
git.log('git log --since="2 weeks ago" -- gitk');
git.merge('origin/next');
git.mv('oldname newname');
git.pull();
git.pull('origin master');
git.push()
git.push('origin master');
git.push('-f origin master');
git.rebase('master');
git.rebase('--onto master next topic');
git.reset();
git.reset('--soft HEAD^');
git.reset('--hard HEAD~3');
git.rm('oldname');
git.show('--pretty="format:" --name-only bd61ad98');
git.status();
git.status('--porcelain');
git.tag('-d X');
git.run();
git.run(function(err, res){
if (err) throw err;
console.log(res);
});
MIT