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