任何基于 libgit2 的本地 git 命令行工具?

Tho*_*son 5 libgit2

作为libgit2是一个库,是有其取决于libgit2并且暴露出通常GIT中的命令行接口(像任何现有的C / C ++项目git clonegit commit等等)?

nul*_*ken 5

您可能会在libgit2项目的示例文件夹中找到更接近的文件夹。

正如自述文件所述

这些示例混合了核心 Git 命令行功能的基本模拟和演示 libgit2 API 用法的简单片段(与 Docurium 一起使用)。总的来说,它们没有像 libgit2 中的其余代码一样仔细审查错误、错误处理和跨平台兼容性,因此请谨慎复制。

话虽这么说,欢迎您在使用 libgit2 时根据需要从这些示例中复制代码。它们已发布到公共领域,因此对其使用没有限制。

libgit2 项目的长期目标之一是针对这些示例运行整个 git.git 测试(以确保与核心 git 实现的兼容性),因此它们有可能继续发展。


Car*_*eto 5

有时会有一些项目尝试在 libgit2 或其中一个绑定之上重新实现 git 工具,但这些往往不会走得太远。

git 界面是一些怪癖的集合,在你自己的工具中重新实现它们并不是一项非常有价值的工作。除此之外,如果您确实仔细检查并重新实现了该界面,您将得到一个具有不匹配功能的 git 版本,而这正是您在开始之前所拥有的。

在某些系统中,可能值得经历所有的麻烦,以避免必须使用 shell 或 perl 拥有类似 UNIX 的环境,但也有人努力将 git 的这些部分移植到 C,这解决了这个问题另一边。