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

occ*_*asl 52 git

我正在使用配置了(智能HTTP)的Git 1.7.1.我想看看这与git://协议相比有多快,因为现在它们应该是相同的.git-http-backend

结果是git://协议正在压缩更多对象(33,22921,193)以获得完全相同的 repo(甚至验证客户端),从而为我的项目创建一个大约30MB的packfile.

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.
Run Code Online (Sandbox Code Playgroud)

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.
Run Code Online (Sandbox Code Playgroud)

alt*_*pub 1

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