跳至正文

修复 Git 克隆“Early EOFs”致命错误

修复 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 克隆部分。成功后,克隆其余部分。

  1. 首先,关闭 Git 压缩。

    1个
    git config --global core.compression 0
  2. 然后使用参数对存储库进行部分克隆--depth 1替换username@domain.com/path/to/git_repo/为存储库的实际路径。

    1个
    git clone —depth 1 ssh://username@domain.com/path/to/git_repo/
  3. 接下来,检索存储库的其余部分。

    1个
    git fetch --unshallow
  4. 最后,通过常规拉动完成它。

    1个
    git fetch --unshallow

这些方法解决了我的问题。希望能帮助到你!

标签: