
AWS CodeCommit
Managed source control service for hosting private Git repositories securely in AWS
Discover top open-source software, updated regularly with real-world adoption signals.

Portable C library for Git core methods and repository management
A pure C implementation of Git core methods with a solid API, enabling developers to build Git functionality directly into applications across any programming language.

libgit2 is a portable, pure C implementation of Git core methods provided as a linkable library. It powers production applications including GitHub.com, Plastic SCM, and Azure DevOps, offering a stable foundation for integrating Git functionality into software across any platform.
Developers building GUI clients, hosting providers, utilities, and applications that need programmatic Git access rely on libgit2. Because it's written in C, language bindings make it accessible to Ruby, .NET, Python, Node.js, Rust, and many other ecosystems.
The library provides over 175 API calls covering repository management, commit/tag/tree/blob operations, revision walking, index manipulation, reference management, config file handling, and more. It focuses on Git plumbing commands rather than replicating user-facing git tool commands. Optional dependencies extend functionality with optimized hash generation, HTTPS, SSH, and threading support.
libgit2 is licensed under GPLv2 with a special Linking Exception, allowing you to link it with any software without GPL obligations for your code.
When teams consider libgit2, these hosted platforms usually appear on the same shortlist.

Managed source control service for hosting private Git repositories securely in AWS

Cloud-hosted set of version control tools (Git and TFVC) for managing source code with Azure DevOps

Web-based Git repository hosting service for source code version control and team collaboration (by Atlassian)
Looking for a hosted option? These are the services engineering teams benchmark against before choosing open source.
Git Hosting Platform
Power repository browsing, diff generation, and merge operations for a web-based forge like GitHub or GitLab
Desktop Git Client
Build a native GUI application with commit history visualization, branch management, and staging area control
CI/CD Pipeline Tool
Programmatically clone repositories, checkout specific commits, and analyze change history for automated builds
Code Analysis Utility
Walk revision history to extract metrics, detect patterns, or generate reports across repository evolution
libgit2 is written in C but has bindings for Ruby, .NET, Python, Node.js, Rust, and many other languages, making it accessible across most ecosystems.
No. libgit2 focuses on Git plumbing commands and core methods, not replicating user-facing porcelain commands. It's designed for programmatic integration, not as a git CLI replacement.
While libgit2 aims for generic implementations, the API may change to accommodate upstream Git evolution. The project documents incompatibilities with the 'git change' label in the issue tracker.
GPLv2 with a special Linking Exception. You can link libgit2 with any software (including proprietary) without GPL obligations for your code. Only changes to libgit2 itself remain under GPL.
CMake, Python (for tests), and a C90-compatible compiler (Visual Studio on Windows, Xcode on macOS, or gcc/clang on Unix). The library has minimal required dependencies.
Project at a glance
ActiveLast synced 4 days ago