Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git克隆或通过慢速网络拉取大型回购协议最终导致致命的EOF_Git_Clone_Eof - Fatal编程技术网

git克隆或通过慢速网络拉取大型回购协议最终导致致命的EOF

git克隆或通过慢速网络拉取大型回购协议最终导致致命的EOF,git,clone,eof,Git,Clone,Eof,我有一个超过2GB的远程回购协议(1个主分支)。我有一个大约2-4Mbps的ADSL宽带连接。我试图复制回购协议。 但是,我得到以下错误: 致命:远程端意外挂起 致命:早期EOF 致命:索引包失败 我在Stack Overflow和其他地方搜索,并试图克隆一个裸回购协议。 后来我尝试增量获取(我需要所有的修订)。 它再次失败,错误与克隆相似 我在办公室尝试了从光纤宽带链路克隆,它似乎工作得很好。 我怀疑git存在超时问题。你能帮我解决这个问题吗 更新:repo只支持https,不支持ssh 谢谢

我有一个超过2GB的远程回购协议(1个主分支)。我有一个大约2-4Mbps的ADSL宽带连接。我试图复制回购协议。 但是,我得到以下错误: 致命:远程端意外挂起 致命:早期EOF 致命:索引包失败

我在Stack Overflow和其他地方搜索,并试图克隆一个裸回购协议。 后来我尝试增量获取(我需要所有的修订)。 它再次失败,错误与克隆相似

我在办公室尝试了从光纤宽带链路克隆,它似乎工作得很好。 我怀疑git存在超时问题。你能帮我解决这个问题吗

更新:repo只支持https,不支持ssh

谢谢,
Srinivasa Pradeep

您可以使用它将存储库“捆绑”到单个文件中,并通过可以恢复中断下载的http服务器将其获取

根据进行克隆的工作站上处理器内核的数量,Git 2.29(2020年第4季度)可能会改善这种情况

很久以前,在并行运行
index pack
任务时,默认情况下只使用了3个线程:这已经稍微向上调整了一点

参见(2020年8月21日)by.
(由年合并,2020年8月31日)

:调整默认螺纹帽 签字人:杰夫·金

提交(“
index pack
:支持多线程增量解析”,2012-05-06,Git v1.7.11-rc0--)描述了一个实验,该实验表明将index pack的线程数设置为大于3没有帮助

我使用更现代的Git版本和更现代的CPU重复了那个实验,得到了不同的结果

以下是p5302在我的笔记本电脑上运行的时间,该笔记本电脑是一款核心i9-9880H,具有8个核心和超线程(因此在线CPU返回16个):

您可以看到,随着内核数量的增加,挂钟时间继续显著提高,但超出这个范围(进入超线程领域)并没有帮助(事实上有点痛)

这是在配备双Xeon 6230的机器上进行的相同实验,共有40个内核(80个具有超线程):

结果相似;在40个线程时,情况停止改善

奇怪的是,从20到40也没有多大帮助(而且大大增加了CPU时间)。
因此,这可能是并行性的一个实际障碍,因为上下文切换和缓存位置的丢失导致了我们的损失,但由于粗粒度锁的争用,我们并没有获得挂钟的好处

那么什么是好的默认值

很明显,目前3的上限太低了;我们的默认值比每台机器上的最佳时间分别慢42%和57%。
在40核机器上的结果表明,无论核数多少,20个线程都是一个实际的屏障,因此我们将其视为最大值。
我们在这些机器上以在线CPU价值的一半获得最佳结果。这大概是超读的结果。这在多核Intel处理器上很常见,但在其他地方不一定如此。
但如果我们把它作为一个假设,我们可以在超线程机器上实现最佳性能,并且仍然比其他机器上的现状要好得多,只要我们永远不低于当前值3的一半

这就是这个补丁的作用


您是否也会从Git以外的其他来源下载其他大型内容?如果是这样,那么Git就不是问题,你应该研究一下你的连接。我已经通过https从其他网站下载了接近1GB的内容。他们需要时间,但最终完成我曾经有过同样的问题。我的文件大约是1.5 GB。正如一位朋友建议的那样,我尝试使用GIT桌面,它对我有效。昨天我正在浏览这个链接。我能够上传捆绑包并通过ftp将其发送到目标计算机。我只想补充一点,一旦您从目标计算机上的捆绑包创建了克隆,如果您想从现在开始推送或拉取更改,您可能还需要设置远程服务器的url。我做过git远程设置url源代码,你能澄清这与OP的问题有什么关系吗?是否有理由相信增加线程将有助于低带宽网络?@eis增加
索引包
使用的内核数量(在客户端,这涉及到
git克隆
)将减少获取的机会,如OP所示,“
索引包失败
”。因为
索引包
将更快完成,避免任何超时。确定。我想如果我读对了,只有当您的计算机上有6个以上的内核时,这才会有所改善,因为默认值是3个,而内核数量的一半才是最佳值。@eis是的,对于最新的AMD处理器,超过6个内核开始成为默认选项。
5302.3: index-pack 0 threads                   256.28(253.41+2.79)
5302.4: index-pack 1 threads                   257.03(254.03+2.91)
5302.5: index-pack 2 threads                   149.39(268.34+3.06)
5302.6: index-pack 4 threads                   94.96(294.10+3.23)
5302.7: index-pack 8 threads                   68.12(339.26+3.89)
5302.8: index-pack 16 threads                  70.90(655.03+7.21)
5302.9: index-pack default number of threads   116.91(290.05+3.21)  
5302.3: index-pack 0 threads                    310.04(302.73+6.90)
5302.4: index-pack 1 threads                    310.55(302.68+7.40)
5302.5: index-pack 2 threads                    178.17(304.89+8.20)
5302.6: index-pack 5 threads                    99.53(315.54+9.56)
5302.7: index-pack 10 threads                   72.80(327.37+12.79)
5302.8: index-pack 20 threads                   60.68(357.74+21.66)
5302.9: index-pack 40 threads                   58.07(454.44+67.96)
5302.10: index-pack 80 threads                  59.81(720.45+334.52)
5302.11: index-pack default number of threads   134.18(309.32+7.98)