开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 15 天,点击查看活动详情
今天在和各位同学处理数据的时候因为数据过大,处理比较慢,就把任务分发下去了,最后git统一管理。然后中途我们push的时候发现,经常等了很久时间报一个push rejected 的错误。下面就是探索解决问题的全流程。
问题描述
Total 6 (delta 4), reused 0 (delta 0), pack-reused 0
error: RPC failed; curl 55 OpenSSL SSL_write: Connection was aborted, errno 10053
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
这个错误经查验是因为上传的文件太大,网络又不够健壮,导致超时而触发的错误。
解决方法
1.增加缓存区大小:
当我们尝试使用 Git 将大文件推送到远程存储库时,可能会发生此错误。这意味着连接已被服务器或您的系统中止。可以尝试使用以下命令增加 Git 的缓冲区大小:
git config --global http.postBuffer 524288000
git config --global https.postBuffer 5242880000
这会将缓冲区大小设置为 500 MB。当然有必要的话还可以检查网络设置和防火墙规则。
有必要的话改成1G也没问题,对应数字1048576000
2.配置git的最低速度和最低速度时间(单位:秒)
当我们传输时间过长,中途发生网络波动导致传输速度降低可能就会因为最低速度限制和最低速度时间限制导致导致传输失败。
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 999999 单位 秒
- --global:针对当前用户
- –--ystem:针对所有用户
3.大文件分割,少量多次
我因为文件太大了,所以对文件做了分割,多次传输。但是还是时不时出一个这个问题。
总结
上面的两个方法都尝试过,只能说收效甚微。可能是我的文件过大,导致这玩意儿时灵时不灵的,但是比原来是好用了一点。虽然没有彻底解决,但是也比较有用了。
还有提示一件事,这种大文件最好不要用git来管理,一般来说git是管理项目源码的,文件管理并不是他的擅长。百度网盘可能体验都比这个强。