14

我想知道git-receive-pack是如何工作的,因为我完全不知道它会发生什么。谁能解开这个谜团?

4

2 回答 2

18

根据手册页

http://schacon.github.com/git/git-receive-pack.html

此命令通常不由最终用户直接调用。该协议的 UI 在 git send-pack 端,程序对用于将更新推送到远程存储库。对于拉取操作,请参阅 git-fetch-pack(1)。

该命令允许在远程端创建和快速转发 sha1 refs(heads/tags)(严格来说,它是本地端 git-receive-pack 运行,但对于坐在 send-pack 端的用户,它正在更新遥控器。困惑吗?)

即使是编写手册页的人也认为它令人困惑,所以不要责怪自己你不理解它!

基本上,这是接收远程服务器上提交的代码的一部分,这些提交在send-pack您执行git push.

了解它背后的细节并不重要——正如文档所说,这不是你应该真正输入的命令。

如果您真的对它的内部工作方式非常感兴趣,那么可以从几个好的起点开始:

Git(软件)上的维基百科页面Git 网站本身,或 免费书籍 Pro Git

或者,您可以随时在 github 上的源代码中查找该命令的“c”代码。

http://git-scm.com/

于 2012-05-19T03:36:09.033 回答
4

在 git 的存储库中有相当详细的接收包协议文档。你可以在这里看到它https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt

于 2015-07-30T02:48:15.087 回答