执行git fetch
时,如何知道从远程传输到本地的对象/更改的确切大小?
答案 0 :(得分:1)
实际的网络流量大小取决于您在本地拥有的内容,遥控器将为您提供的内容以及用于传输数据的协议。
有关详细信息,请参阅Pro Git book,但简短版本是,如果您使用“智能”协议(git://...
或ssh://...
)来获取,则可以获得“瘦身” pack“包含代表您当前缺少的存储库对象的delta压缩数据,但是针对您在fetch
中要求的对象进行压缩。如果您使用“哑”协议,则无法获得该协议,并且您将获得松散的对象(压缩bzip2)或“厚”包。
仅仅查看对象本身的(未压缩的)大小可能不会告诉你太多。
答案 1 :(得分:0)
不是100%确定这是否正确,并且可能有更好的方法,但你可以尝试:
git fetch --dry-run
这应该显示fetch在没有实际进行的情况下会做什么。如果您有适用的远程更改,则应向您显示此信息,例如:
(SHA1)..(SHA2) master -> origin/master
然后你可以使用带有size标志的cat-file
来检查提交,我相信它应该代表你想要的传入更改:
git cat-file -s (SHA2)
返回的数量以字节为单位。我希望这对你有所帮助。