libgit2 是一个可移植、纯C语言实现的 Git 核心开发包,你可以使用它来编写自定义的 Git 应用。
libgit2已被广泛应用在许多应用程序上,包括GitHub网站,还被应用在Plastic SCM和强大的微软Visual Studio工具箱。
主要功能:
SHA转换、格式化和缩略词
抽象的ODB后端系统
提交、标签、树和BLOB解析、编辑、blob解析和回写
树遍历
revision walking
索引文件(临时区域)操作
引用管理(包括包引用)
配置文件管理
高级仓库管理
线程安全和可重入
错误信息描述非常详细
更多(超过175个不同的API调用)
目前,可以绑定到libgit2的语言有,并附上各个语言的绑定方法:
C++:https://projects.kde.org/projects/playground/libs/libqgit2/
Chicken Scheme:https://wiki.call-cc.org/egg/git
D:https://github.com/AndrejMitrovic/dlibgit
Delphi:https://github.com/libgit2/GitForDelphi
Erlang:https://github.com/carlosmn/geef
Go:https://github.com/libgit2/git2go
GObject:https://live.gnome.org/Libgit2-glib
Haskell:https://github.com/fpco/gitlib
Lua:https://github.com/libgit2/luagit2
.NET:https://github.com/libgit2/libgit2sharp、https://github.com/txdv/libgit2net
Node.js:https://github.com/libgit2/node-gitteh
nodegit:https://github.com/tbranyen/nodegit
Objective-C:https://github.com/libgit2/objective-git
OCaml:https://github.com/burdges/libgit2-ocaml
Parrot Virtual Machine:https://github.com/letolabs/parrot-libgit2
Perl:https://github.com/ghedo/p5-Git-Raw
PHP:https://github.com/libgit2/php-git
Python:https://github.com/libgit2/pygit2
Ruby:https://github.com/libgit2/rugged
Vala:https://github.com/apmasell/vapis/blob/master/libgit2.vapi