libgit2:纯C语言实现的Git开发包

发表于2013-10-29 17:294359次阅读| 来源CSDN4 条评论| 作者张红月

git stackoverflow visual studio 开源 libgit2
摘要:libgit2是一个可移植、纯C语言实现的Git开发包,作为一款带有稳固API的可重入链接库,libgit2允许你使用任何语言来编写Git应用。

libgit2是一个可移植、纯C语言实现的Git开发包,作为一款带有稳固API的可重入链接库,libgit2允许你使用任何语言来编写Git应用。此外,libgit2可以应用在各个平台上,包括Unix、Linux、MacOS X、Windows等。

libgit2的开源许可非常自由(GPLv2 with a special Linking Exception),这意味着你可以在产品中随意使用libgit2,即使是闭源的商业项目。

  • 网站:libgit2.github.com
  • API文档:http://libgit2.github.com/libgit2

用途

libgit2已被广泛应用在许多应用程序上,包括GitHub网站,还被应用在Plastic SCM和强大的微软Visual Studio工具箱上。该库主要提供以下功能:

  • SHA转换、格式化和缩略词;
  • 抽象的ODB后端系统;
  • 提交、标签、树和BLOB解析、编辑、blob解析和回写;
  • 树遍历
  • revision walking
  • 索引文件(临时区域)操作
  • 引用管理(包括包引用)
  • 配置文件管理
  • 高级仓库管理 
  • 线程安全和可重入
  • 错误信息描述非常详细
  • 更多(超过175个不同的API调用)

目前,可以绑定到libgit2的语言有,并附上各个语言的绑定方法:

  • C++
    • libqgit2,Qt bindings  https://projects.kde.org/projects/playground/libs/libqgit2/
  • Chicken Scheme
    • chicken-git  https://wiki.call-cc.org/egg/git
  • D
    • dlibgit  https://github.com/AndrejMitrovic/dlibgit
  • Delphi
    • GitForDelphi  https://github.com/libgit2/GitForDelphi
  • Erlang
    • Geef  https://github.com/carlosmn/geef
  • Go
    • git2go  https://github.com/libgit2/git2go
  • GObject
    • libgit2-glib  https://live.gnome.org/Libgit2-glib
  • Haskell
    • hgit2  https://github.com/fpco/gitlib
  • Lua
    • luagit2  https://github.com/libgit2/luagit2
  • .NET
    • libgit2sharp  https://github.com/libgit2/libgit2sharp
    • libgit2net, low level bindings superseded by libgit2sharp  https://github.com/txdv/libgit2net
  • Node.js
    • node-gitteh  https://github.com/libgit2/node-gitteh
    • nodegit  https://github.com/tbranyen/nodegit
  • Objective-C
    • objective-git  https://github.com/libgit2/objective-git
  • OCaml
    • libgit2-ocaml  https://github.com/burdges/libgit2-ocaml
  • Parrot Virtual Machine
    • parrot-libgit2  https://github.com/letolabs/parrot-libgit2
  • Perl
    • Git-Raw  https://github.com/ghedo/p5-Git-Raw
  • PHP
    • php-git  https://github.com/libgit2/php-git
  • Python
    • pygit2  https://github.com/libgit2/pygit2
  • Ruby
    • Rugged  https://github.com/libgit2/rugged
  • Vala
    • libgit2.vapi  https://github.com/apmasell/vapis/blob/master/libgit2.vapi

托管地址:https://github.com/libgit2/libgit2

你可能感兴趣的:(libgit2:纯C语言实现的Git开发包)