libgit2
libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library, with an API that's designed to be ergonomic to use from C directly, or from another language through FFI bindings.
-
Cross-Platform
Linux, macOS, iOS, and Windows are fully tested and supported.
-
Portable C
Written in a well-supported subset of C99. Builds in GCC, Clang and MSVC.
-
Minimal Dependencies
libgit2 prefers system libraries, but offers minimal bundled dependencies where sensible.
-
Permissive Licensing
GPLv2 with a Linking Exception that lets you use it with open or proprietary software.