Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git和libgit2之间的区别_Git_Libgit2 - Fatal编程技术网

Git和libgit2之间的区别

Git和libgit2之间的区别,git,libgit2,Git,Libgit2,我不确定我是否正确理解了git和libgit2之间的区别,因为git的存储库与libgit2不同,我的意思是它们不一样 我想知道这两个库之间有什么区别吗?git不是一个库,它是一个命令行工具,是git的参考实现。libgit2是Git系统的一个实现,其重点是在复杂的应用程序中以及从许多不同的语言中使用 存储库是Git存储库,它们的格式没有区别。工具和库之间可能存在差异,比如libgit2没有写出示例钩子文件,因为只有特定的工具才知道如何处理这些文件。任何其他差异都会被认为是一个bug。第一个区别

我不确定我是否正确理解了
git
libgit2
之间的区别,因为
git
的存储库与
libgit2
不同,我的意思是它们不一样


我想知道这两个库之间有什么区别吗?

git不是一个库,它是一个命令行工具,是git的参考实现。libgit2是Git系统的一个实现,其重点是在复杂的应用程序中以及从许多不同的语言中使用


存储库是Git存储库,它们的格式没有区别。工具和库之间可能存在差异,比如libgit2没有写出示例钩子文件,因为只有特定的工具才知道如何处理这些文件。任何其他差异都会被认为是一个bug。

第一个区别是Git不是一个库。嘿@Carlos,如果Git在其CL工具的主要实现中添加了一个新功能或修复了一个bug该怎么办。我认为,主要工具是用来遵守特定的实施/标准的?libgit2和Git参考实现CL是否协同工作?谢谢。功能是根据人们的需要添加的。git工具是参考实现,它对管道命令具有很强的向后兼容性,因此它们不会更改输出。“git是git的参考实现”-您让它听起来像“git”,因为它的概念不同于
git
命令行实用程序。你有一个参考来支持它吗?根据我从git的原作者那里读到的,在git/git repo的
README.md
中,“git”这个名字是由Linus Torvalds在编写第一个版本时给出的。他将该工具描述为“愚蠢的内容跟踪器”,名称为(取决于你的心情)
。因此,就作者而言,git是“git”
libgit2
gogit
等是单独的项目,它们重新实现了git命令。