瓷命令添加和提交中使用了哪些管道命令

  • 本文关键字:命令 管道 添加 提交 git
  • 更新时间 :
  • 英文 :


由于瓷命令是用管道命令构建的,我很想知道addcommit是如何构建的。

例如,add命令当然使用hash-object命令,但我认为它也使用其他命令(可能是update-index(。有人能给我指一个详细解释这一点的资源吗?

由于瓷命令是用管道命令构建的。。。

不幸的是,这个前提并不完全正确(j6t也注意到了这一点(。我认为应该是真的,但由于各种原因,它不是。特别是,git log执行没有管道命令可用的操作,git status也执行,但git status本身可以通过--porcelain标志成为管道命令。

例如,add命令当然使用hash对象命令,但我认为它也使用其他命令(可能是更新索引(。有人能给我指一个详细解释这一点的资源吗?

您正确地认为,典型的git add使用内部等效的git hash-object -w,然后是git update-index。然而,git add具有例如-p--patch模式,该模式当前是Perl脚本,并且正在被重写为C代码。

有人能给我指一个详细解释这一点的资源吗?

找到这些信息的唯一保证准确的地方是Git源代码本身。幸运的是,这是免费的:只需为Git克隆Git存储库。请注意,任何详细问题的答案都可能取决于特定的Git版本。

[来自评论:是否有会议、论文等讨论Git的历史演变?

2020年3月似乎有一个相当大的会议。我确信早些时候还有其他论文,但我没有参考资料。

如今,git addgit commit已内置到git中,并且未编写脚本。我认为git add从未被编写过脚本,但git commit确实是。您可以在contrib/examples中找到Git存储库的旧提交的旧实现。

CCD_ 22是围绕CCD_ 23和CCD_ 24编写的。CCD_ 25基本上是CCD_ 26的美化版本。

最新更新