Git.js is a pure JavaScript implementation of Git created by Daniel Benjamin Lucraft. It currently has two clients: a command-line Node.js one, and a API for accessing git.js through HTTP.

According to the ReadMe, here's what it currently supports:

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