isomorphic-git
A pure JavaScript implementation of git for node and browsers!
...This means it can be used to read and write to git repositories, as well as fetch from and push to git remotes like GitHub. isomorphic-git aims for 100% interoperability with the canonical git implementation. This means it does all its operations by modifying files in a ".git" directory just like the git you are used to. The included isogit CLI can operate on git repositories on your desktop or server. isomorphic-git aims to be a complete solution with no assembly required. The API has been designed with modern tools like Rollup and Webpack in mind.