Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
This repository was archived by the owner on Aug 27, 2025. It is now read-only.
Open more actions menu

Repository files navigation

NeoGit Icon
NeoGit

Git Isometry for Node.js


Usage

Install this package in your project:

# via npm
npm add neogit

# or pnpm
pnpm add neogit

# or yarn
yarn add neogit

NeoGit is a pure TS library serving as a readonly, high-performance alternative to isomorphic-git, addressing several issues (i.e. incorrect merge-base algorithm).

IsoGit caches many things, including entire Git object packs (potentially massive). In contrast, NeoGit takes a minimal and deliberate approach to caching. While caching much less data, NeoGit still outperforms IsoGit by a factor of 2x in many scenarios (literally $[3, \infty)$ times faster in graph-based operations).

NeoGit is suitable for environments where native modules are not supported, such as VSCode extensions. It provides a lightweight yet performant alternative to NodeGit when cache invalidation is not a primary concern.

Developed for VSCode Git Branch, this library focuses on a core set of Git features and is not a full implementation of all Git capabilities (but could be done rather easily). Therefore API is not documented, plus I'm particularly lazy (it should be self-documenting).


Caching whole pack files...?

Used by

Contributors

Languages

Generated from wavim/npm-template
Morty Proxy This is a proxified and sanitized view of the page, visit original site.