libgit2
is a portable, pure C implementation of the Git core methods
provided as a linkable library with a solid API, allowing to build Git
functionality into your application. Language bindings like
Rugged (Ruby),
LibGit2Sharp (.NET),
pygit2 (Python) and
NodeGit (Node) allow you to build Git tooling
in your favorite language.
libgit2
is used to power Git GUI clients like
GitKraken and gmaster
and on Git hosting providers like GitHub,
GitLab and
Azure DevOps.
We perform the merge every time you click "merge pull request".
libgit2
is licensed under a very permissive license (GPLv2 with a special
Linking Exception). This basically means that you can link it (unmodified)
with any kind of software without having to release its source code.
Additionally, the example code has been released to the public domain (see the
separate license for more information).