我想知道git-receive-pack是如何工作的,因为我完全不知道它会发生什么。任何人都可以对这个谜团有所了解吗?
答案 0 :(得分:13)
http://schacon.github.com/git/git-receive-pack.html
此命令通常不会由最终用户直接调用。协议的UI位于git send-pack端,程序对用于将更新推送到远程存储库。有关拉动操作,请参阅git-fetch-pack(1)。
该命令允许在远程端创建和快速转发sha1 refs(磁头/标签)(严格来说,它是本地端git-receive-pack运行,但是对于坐在发送端的用户而言) -pack end,它正在更新遥控器。困惑?)
即使是编写该手册页的人也认为这是令人困惑的,所以不要责怪自己,你不理解它!
基本上,这是接收远程服务器上的提交的代码的一部分,当您执行send-pack
时,git push
在本地计算机上由{{1}}打包并发送。
理解它背后的细节并不重要 - 正如文档所说,它不是你应该实际键入的命令。
如果你真的对内部的工作方式非常感兴趣,那么有几个好的开始可能是:
The Wikipedia Page on Git (Software), The Git Website itself,或 The free book, Pro Git
或者,您可以随时在github上的源代码中查看look the 'c' code up for that command。
答案 1 :(得分:3)
git的存储库中有关于receive pack协议的详细文档。你可以在https://github.com/git/git/blob/master/Documentation/technical/pack-protocol.txt看到它。