awesome-repositories.com
Blog
awesome-repositories.com

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
creationix avatar

creationix/js-git

0
View on GitHub↗
3,844 stars·261 forks·JavaScript·MIT·4 vues

Js Git

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 project features a pluggable repository interface and storage layer, enabling Git data to be persisted across diverse mediums such as browser databases or local file systems. It includes a streaming packfile processor for packing and unpacking objects to facilitate efficient data transfer.

The library covers a broad range of capabilities including filesystem operations, recursive tree traversal, and repository history traversal. It also incorporates request deduplication to combine parallel requests for the same resource and reduce server load.

Features

  • JavaScript Libraries - Provides a modular JavaScript library for integrating Git version control without external system dependencies.
  • In-Application Integration - Allows integrating full version control functionality to track data changes or use a repository as a persistent store.
  • Content-Addressable Storage - Implements a storage system where objects are identified by cryptographic hashes to ensure data integrity.
  • Git Object Backends - Provides an interface to manage immutable, content-addressed blobs and commit trees.
  • Pluggable Storage Backends - Provides an architectural abstraction to swap between diverse storage backends such as browser databases or local disks.
  • JavaScript-Native Implementations - Provides a complete implementation of the Git protocol and object model written entirely in JavaScript.
  • Delta-Compressed Packfiles - Provides binary stream encoding for packing multiple repository objects into compressed packfiles.
  • Commit History Traversal - Enables programmatic walking through commit logs and file trees as linear streams.
  • Version Control Data Traversal - Implements streaming algorithms to efficiently traverse commit histories and track data changes.
  • Filesystem Operations - Provides low-level logic for creating, updating, and navigating directory structures and files.
  • Packfile Processors - Ships a streaming utility for packing and unpacking Git objects to optimize memory and transfer speed.
  • Recursive Directory Traversers - Implements algorithms for recursively walking directory trees to resolve nested Git objects into flat filesystem views.
  • Stream-Based Commit Processing - Processes large commit histories and repository objects using asynchronous streams to minimize memory overhead.
  • Git Utilities - Git implementation in JavaScript.
  • Version Control Tools - Pure JavaScript implementation of Git.

Historique des stars

Graphique de l'historique des stars pour creationix/js-gitGraphique de l'historique des stars pour creationix/js-git

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Js Git

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Js Git.
  • isomorphic-git/isomorphic-gitAvatar de isomorphic-git

    isomorphic-git/isomorphic-git

    8,259Voir sur GitHub↗

    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

    JavaScript
    Voir sur GitHub↗8,259
  • go-git/go-gitAvatar de go-git

    go-git/go-git

    7,211Voir sur GitHub↗

    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

    Gogitgit-clientgit-library
    Voir sur GitHub↗7,211
  • libgit2/libgit2Avatar de libgit2

    libgit2/libgit2

    10,485Voir sur GitHub↗

    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

    C
    Voir sur GitHub↗10,485
  • attic-labs/nomsAvatar de attic-labs

    attic-labs/noms

    7,422Voir sur GitHub↗

    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

    Go
    Voir sur GitHub↗7,422
Voir les 30 alternatives à Js Git→

Questions fréquentes

Que fait creationix/js-git ?

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.

Quelles sont les fonctionnalités principales de creationix/js-git ?

Les fonctionnalités principales de creationix/js-git sont : JavaScript Libraries, In-Application Integration, Content-Addressable Storage, Git Object Backends, Pluggable Storage Backends, JavaScript-Native Implementations, Delta-Compressed Packfiles, Commit History Traversal.

Quelles sont les alternatives open-source à creationix/js-git ?

Les alternatives open-source à creationix/js-git incluent : 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…