libgit2 is a portable, pure C implementation of the Git core methods provided as a re-entrant linkable library with a solid API, allowing you to write native speed custom Git applications in any language that supports C bindings.
Linux, macOS, iOS, and Windows are fully tested and supported.
Written in a well-supported subset of C99. Builds in GCC, Clang and MSVC.
We use the libraries that are on your system, and you can opt-out of any dependencies.
GPLv2 with a Linking Exception that lets you use it with open or proprietary software.