3
remote: Counting objects: 666377, done.
remote: Compressing objects: 100% (150501/150501), done.
Receiving objects: 0% (2171/666377), 756.00 KiB | 119 KiB/s     

我的怀疑是如何压缩对象,然后再将它们传输到我的电脑?这太不可思议了,因为我们必须先获取文件,然后再压缩它..

那么这是错误顺序的git输出信息的错误吗?

4

1 回答 1

6

Git 试图减少通过(慢速)网络发送到您的 PC 的数据量,因此它会在发送“松散对象之前对其进行压缩。

请注意,实际上并没有使用像gzip. 相反,它通过查看前 50 个变更集中的文件来创建一组最佳补丁。这些(二进制)补丁是代表系统完整状态(包括所有变更集、差异、提交消息等)的最小字节集。

这一步有点贵(当你有很多松散的对象时你会注意到),所以 git 只在必要时执行这一步。

于 2012-08-20T13:41:45.767 回答