The aim of the project is to provide a restful Git API that mimics as most as possible the old good git.
For example, in order to commit a change in shell you should do:
$ mkdir new-project
$ cd new-project
$ git init
$ git add file.c
$ git commit -m 'A commit message'
$ git add file.c
$ git commit -m 'A second commit message'
$ git show HEAD~:file.cIn case of git-rest-api you should do:
POST /init
{ "repo": "new-project" }
POST /repo/new-project/tree/file.c
POST /repo/new-project/commit
{ "message": "A commit message" }
POST /repo/new-project/tree/file.c
POST /repo/new-project/commit
{ "message": "A second commit message" }
GET /repo/new-project/show/file.c?rev=HEAD~In your project install git-rest-api and express:
$ npm install git-rest-api
$ npm install expressA simple example of a server running git-rest-api:
var app = require('express')(),
git = require('git-rest-api');
git.init(app, { installMiddleware: true }).then(function () {
app.listen(8080);
console.log('Listening on', 8080);
});