Isomorphic-git is a full implementation of the Git version control system written in JavaScript. It serves as a programmatic client library that allows developers to perform core version control operations without requiring a system-level Git binary installation. The library is designed as an isomorphic codebase, meaning it runs identically across both client-side web browser environments and server-side Node.js runtimes. It achieves this by using a filesystem-agnostic storage model and a pure JavaScript implementation of the Git core logic and the Smart HTTP protocol. The project covers a c
This project is a pure Go implementation of the Git version control system, providing a library for integrating versioning and history analysis into applications. It functions as a complete repository manager and object store that does not require external binary dependencies. The implementation utilizes interface-based storage, allowing repositories to be managed on disk or entirely in memory. It supports a transactional storage model to ensure atomic operations and implements a content-addressable storage system using delta-compression packfiles. The library covers a broad range of version
libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version control directly into applications. It serves as a linkable implementation of Git internals, allowing developers to manage repositories and manipulate version control data without requiring a system installation of the Git command line tool. The library functions as an embedded API and object database manager capable of reading and writing commits, trees, blobs, and tags. It includes a network transport client to handle the transfer of repository data over protocols such as SSH a
Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic hashes to ensure integrity and deduplication, while tracking dataset state changes through a sequence of immutable commits to enable branching, forking, and historical recovery. The system functions as a peer-to-peer data synchronizer, reconciling state between disconnected database instances to ensure all nodes converge on the same data. It distinguishes itself as a schema-flexible document store that supports self-describing types, allowing schemas to evolve and widen as ne
js-git is a modular JavaScript implementation of the Git protocol and object model. It provides a content-addressable storage engine that manages blobs, trees, and commits using cryptographic hashes, allowing version control functionality to operate without external system dependencies.
The main features of creationix/js-git are: JavaScript Libraries, In-Application Integration, Content-Addressable Storage, Git Object Backends, Pluggable Storage Backends, JavaScript-Native Implementations, Delta-Compressed Packfiles, Commit History Traversal.
Open-source alternatives to creationix/js-git include: isomorphic-git/isomorphic-git — Isomorphic-git is a full implementation of the Git version control system written in JavaScript. It serves as a… go-git/go-git — This project is a pure Go implementation of the Git version control system, providing a library for integrating… libgit2/libgit2 — libgit2 is a portable, cross-platform C library that provides a programmatic interface for integrating Git version… attic-labs/noms — Noms is a distributed version control database and content-addressable data store. It identifies data by cryptographic… bup/bup — bup is a deduplicating backup manager and incremental backup system. It uses a Git packfile-based storage format to… git/git — Git is a distributed version control system and command-line tool designed for tracking changes in source code and…