修复 Git 克隆“Early EOFs”致命错误
“ git clone ”命令——顾名思义——允许您将整个存储库从远程复制到本地,反之亦然。虽然这是一个相当简单直接的 git 命令,但有时仍然会出现问题。
本周早些时候,我在执行git clone时遇到错误,错误如下所示:
1个
2个
3个
4个
5个
|
error: pack-objects died of signal 9.20 MiB | 79.00 KiB /s error: git upload-pack: git-pack-objects died with error. fatal: git upload-pack: aborting due to possible repository corruption on the remote side. remote: aborting due to possible repository corruption on the remote side. fatal: early EOFs: 1% (66 /3818 ), 6.04 MiB | 53.00 KiB /s |
经过一番研究和调试,这里是致命错误的两个主要原因。
1. 网速慢
错误原因
存储库很大,但 Internet 连接速度太慢。
这来自我的个人经验——我试图克隆一个大约 1.5Gb 的存储库。它以不同的下载率不断失败,有时在 20Mb 之后,有时在 60Mb、200Mb 等之后。
解决方案
更改为更快、更稳定的 Internet 连接会有所帮助。通过更快的连接,我能够接近 1.5Gb。有一次我能够毫无错误地克隆。
2.巨大的存储库
错误原因
就文件大小而言,您尝试克隆的存储库很大。在尝试克隆它时,远程服务器根本没有足够的内存来应对执行。
解决方案
压缩的转折点。Git 克隆部分。成功后,克隆其余部分。
-
首先,关闭 Git 压缩。
1个git config --global core.compression 0
-
然后使用参数对存储库进行部分克隆
--depth 1
。替换username@domain.com/path/to/git_repo/
为存储库的实际路径。1个git clone —depth 1
ssh
:
//username
@domain.com
/path/to/git_repo/
-
接下来,检索存储库的其余部分。
1个git fetch --unshallow
-
最后,通过常规拉动完成它。
1个git fetch --unshallow
这些方法解决了我的问题。希望能帮助到你!