为什么git协议产生比git-http-backend更多的对象?

我正在使用configuration了git-http-backend ( 智能HTTP )的Git 1.7.1 。 我想看看它比git://协议快了多less,因为现在它们应该是平等的。

结果git://协议正在压缩更多的对象( 33,229 vs 21,193 ), 完全相同的回购(甚至是经过validation的客户端),因此创build了一个比我的项目大30MB的包文件。

有什么理由为什么git://协议需要更多的对象?

git://输出

 remote: Counting objects: 44510, done. remote: Compressing objects: 100% (33229/33229), done. Receiving objects: 100% (44510/44510), 124.07 MiB | 2.84 MiB/s, done. remote: Total 44510 (delta 22755), reused 15866 (delta 7516) Resolving deltas: 100% (22755/22755), done. 

http://输出

 remote: Counting objects: 24299, done. remote: Compressing objects: 100% (21931/21931), done. remote: Total 24299 (delta 7517), reused 0 (delta 0) Receiving objects: 100% (24299/24299), 95.95 MiB | 2.41 MiB/s, done. Resolving deltas: 100% (7517/7517), done. 

可能是:通过git你从所有分支下载文件,你可以快速切换它们之间,通过http只下载主分支。