为什么git首先压缩对象,然后接收它们?我认为应该是相反的

hug*_*eow 3 git version-control

remote: Counting objects: 666377, done.
remote: Compressing objects: 100% (150501/150501), done.
Receiving objects: 0% (2171/666377), 756.00 KiB | 119 KiB/s     
Run Code Online (Sandbox Code Playgroud)

我的怀疑是,在将物品转移到我的电脑之前如何压缩物体?这是unbelievalbe,因为我们必须首先获取文件,然后压缩它..

这是一个错误的命令git输出信息的错误?

Aar*_*lla 6

Git尝试减少通过(慢)网络发送到PC的数据量,因此它会发送之前压缩" 松散对象 " .

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

这个步骤有点贵(正如你会注意到你有很多松散的对象),所以git只在必要时执行此步骤.