libgit2: portable Git library written in C with bindings for over 20 languages & platforms

libgit2 logo

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 which supports C bindings.

  • 100% Cross-Platform: Linux, FreeBSD, OpenBSD, Mac OS X, iOS, Amiga, MinGW and fully native Windows.
  • Zero Dependencies: Builds out of the box with no dependencies. Works in embedded devices and iOS.
  • ANSI C89: Written with portability in mind. Builds in GCC, Clang and MSVC.
  • Permissive Licensing: GPLv2 with Linking Exception. Link with open and proprietary software, no strings attached.

The complete list of language bindings is here on the Github page.