|
|
1
30
事实上,我想我很喜欢我的评论,把它作为一个答案贴出来! 推送时,git会创建一个包含所有必要对象的包,并将其上载到远程。这意味着我们正在寻找一种预测包装大小的方法。由于包是压缩的,这使得基于diff或对象大小做任何事情都非常困难;我们真正想做的是看看包有多大。如果你能中断推送,在它构建包之后,决定根据包的大小继续,那就太好了,但我不认为这是可能的。我最好的猜测是试着重新创建将被推和检查的包。 包文件基本上是一个包含头信息的包(请看 the source 如果你愿意的话)。这意味着它是一个方便的瓷器命令,可以创建一个您所关心的大小的文件。(比尝试使用 pack-objects 手动。)使用如下方法:
这将为您提供一个包,其中包含到master所需的所有内容,前提是远程服务器具有origin/master,这与应该由
只需检查创建的包的大小;它应该几乎相当于您最终要推的包的大小。这确实意味着你将不得不两次创建包(一次使用包,一次使用推),但是除非这是一个真正的大推,需要很长时间来打包,否则这应该不是一个大问题。 |
|
|
2
9
您可以通过运行与Git创建要推送的包文件时在内部运行的内容类似的Bash来大致了解:
这将输出Git将发送的包文件的字节数。分解:
这是有条件的
|
|
Harry · 如何在编译时获取克隆的git仓库的标签 9 月前 |
|
Ooker · 如何从blob中删除秘密? 9 月前 |
|
|
hasdrubal · git日志图智能分支过滤器 9 月前 |
|
|
Stephen · git rebase删除了未经樱桃采摘的“樱桃采摘”提交 10 月前 |
|
|
J. Doe · 为什么git中没有跟踪git文件? 10 月前 |