Skip to content
Oeiuwq Faith Blog OpenSource Porfolio

danlucraft/git.js

pure-Javascript Git implementation

danlucraft/git.js.json
{
"createdAt": "2011-02-13T08:25:48Z",
"defaultBranch": "master",
"description": "pure-Javascript Git implementation",
"fullName": "danlucraft/git.js",
"homepage": "http://danlucraft.com/",
"language": "JavaScript",
"name": "git.js",
"pushedAt": "2019-02-28T02:04:50Z",
"stargazersCount": 1304,
"topics": [],
"updatedAt": "2025-09-05T15:36:01Z",
"url": "https://github.com/danlucraft/git.js"
}

Daniel Lucraft @danlucraft

A git implementation in pure JavaScript.

Has two clients:

  • a command-line node.js client,
  • and an in-browser repo API for accessing git through the HTTP protocol

The command-line version currently implements:

  • git.js log (shows 10 commits)
  • git.js branch (listing local branches)
  • git.js show SHA (show object information)

The client side API implements:

  • creating an in-memory repo
  • fetching remote objects through the dumb or smart HTTP git protocols
  • browsing the object graph
  • creating HTML object diffs

To demo the in-browser repo viewer, install thin and run:

$ rake demo
  • package for npm
  • writing to repos: committing, branching
  • improving the client side API

DONE:

  • making it easy to run the included demo repo-viewer webapp

Released under the MIT License. See the [LICENSE][license] file for further details.

[license] !: https://github.com/danlucraft/git.js/blob/master/LICENSE.md