Git和libgit2之间的区别

11

我不确定自己是否正确理解了gitlibgit2之间的区别,因为git代码库与libgit2不同,我的意思是它们不是同一个。

我想知道这两个库之间是否有任何区别?


第一个不同之处是Git不是一个库。 - Fred Foo
1个回答

19

git不是一个库,而是一个命令行工具,也是Git的参考实现。libgit2是Git系统的一种实现,重点是可用于复杂应用程序并可从许多不同的语言使用。

这些仓库都是Git仓库,它们的格式没有区别。可能会有来自工具与库之间的差异,例如libgit2不会写出示例挂钩文件,因为只有特定的工具才知道如何处理它们。任何其他差异都将被视为错误。


2
嘿@Carlos,如果Git在其CL工具的主要实现中添加了新功能或修复了漏洞,那该怎么办呢?我相信,主要工具用于遵循特定的实现/标准吧? libgit2和Git参考实现CL是否协同工作? 谢谢。 - ahmgeek
功能是根据人们的需求添加的。Git工具是参考实现,它对管道命令具有强大的向后兼容性,因此它们不会更改输出。 - Carlos Martín Nieto
git是Git的一个参考实现,您似乎让“Git”作为一个概念与命令行实用程序git不同。您有支持此说法的参考资料吗?根据我在git/git存储库的README.md中阅读到的原始作者的说法:“当Linus Torvalds编写第一个版本时,他给了它名字"git"。他将该工具描述为“愚蠢的内容跟踪器”,并根据您的心情来决定名称。”因此,就作者而言,git就是“The git”。libgit2gogit等都是单独的项目,重新实现git命令。 - vulcan raven

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接