A pure JavaScript implementation of Git that works in Node.js and browsers without native dependencies.
Isomorphic-git is a pure JavaScript implementation of the Git version control system that works identically in Node.js and browser environments. It solves the problem of running Git operations in contexts where native Git isn't available, such as web applications, by providing a complete Git client with no native dependencies. The library can read and write Git repositories, fetch from and push to remote servers, and includes a CLI tool for command-line usage.
JavaScript developers building applications that need Git functionality in browser environments, developers creating Git-based tools or IDEs that run in the browser, and those needing a pure-JS Git client for Node.js without native bindings.
Developers choose isomorphic-git because it's the most complete pure-JavaScript Git implementation with full browser support, excellent interoperability with standard Git, and a modular API designed for modern bundlers. Its isomorphic nature means you can write Git operations once and run them anywhere JavaScript runs.
A pure JavaScript implementation of git for node and browsers!
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs in any JavaScript environment without native dependencies, enabling Git operations in browsers and Node.js identically, as highlighted by its lack of C++ modules.
Provides the same API across server and client with pluggable filesystem and HTTP clients, simplifying codebases that need to work in both environments.
Implements over 70 Git commands with 100% interoperability, operating on standard .git directories just like canonical Git, ensuring compatibility.
Tree-shakable design allows importing only necessary functions, reducing bundle sizes in web applications when used with tools like Webpack or Rollup.
The project is maintained by volunteers with limited active development, as the README notes the original author left and contributors mainly review code rather than write new features.
Most Git hosting services like GitHub and GitLab lack CORS headers, forcing reliance on external proxies for browser-based operations, adding complexity and potential points of failure.
Requires pluggable filesystem and HTTP clients, necessitating setup of additional libraries like LightningFS, which can introduce stability issues such as file corruption if not handled carefully.