nodegit/nodegit

Native Node bindings to Git.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 11th, 2026
Created on February 18th, 2011
Open Issues & Pull Requests: 363 (+0)
GitHub issues: Enabled
Number of forks: 701
Total Stargazers: 5,750 (+0)
Total Subscribers: 67 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 10.7 hours
Mean response time: 250.7 days
90th percentile: 37.7 days
Tracked items: 12

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 11
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 856 days
Stale 30+ days: 11
Stale 90+ days: 11

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

No label distribution available yet.

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

NodeGit is a native Node.js binding to the libgit2 project that enables Git operations from JavaScript code.

The tool solves the problem of performing Git operations programmatically within Node.js applications without shelling out to the git command-line tool. It wraps libgit2, a C library that implements Git functionality, exposing that functionality through a JavaScript API. This approach allows developers to perform tasks like cloning repositories, reading files, and examining commit history directly from Node code with the performance characteristics of native bindings.

NodeGit works on most systems without additional native dependencies, though some Linux distributions require development packages for libraries like libssl, kerberos, and pcre. The tool suits projects that need to automate Git workflows, integrate Git operations into Electron applications, or perform Git tasks where spawning a subprocess is undesirable. It provides a comprehensive API covering repository operations, though developers should consult the documentation at nodegit.org for the full feature set.

The project maintains active engagement with its community through a dedicated Slack channel. Development shows sustained activity with ongoing maintenance and contributions from multiple developers over time. The codebase receives regular updates to track changes in the underlying libgit2 library it binds to.