通过http失败拉大型存储库(超过1GB大小)

时间:2014-10-09 19:08:34

标签: git

存储库的大小超过1GB,当我上拉到50%时,发生错误:

> remote: Counting objects: 23891, done. remote: Compressing objects:
> 100% (19980/19980), done. fatal: The remote end hung up
> unexpectedly3.61 MiB | 333 KiB/s    fatal: early EOF fatal: recursion
> detected in die handler

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:2)

我也同意 isherwood ,它最像是StackOverflow: GitHub Clone Error: Cannot clone with EOF error的副本,但是该条目对我来说非常令人失望(当时只有一个回复,这没有帮助我)。

我通过以下步骤(在Internet上,而不在StackOverflow上找到)解决了该问题

  1. git clone --depth 1您的URL至克隆./
  2. git fetch --unshallow
  3. git pull

有关1.的含义(即浅表克隆)的更多信息,请参见StackOverflow: Is it safe to shallow clone with --depth 1, create commits, and pull updates again?

有关2的含义的更多信息,请参见StackOverflow: https://stackoverflow.com/questions/6802145/how-to-convert-a-git-shallow-clone-to-a-full-clone

关于3:我认为这只是仔细检查。至少对我而言,没有带来任何更新。

答案 1 :(得分:0)

由于存储库的大小,它很可能会失败。

如果您有权访问远程存储库, 试试这个:

  1. 获取远程存储库文件的副本。您可以tar.gz远程存储库目录并将其下载到本地计算机。
  2. 将远程存储库解压缩到本地计算机的某个位置。
  3. 从您的计算机克隆存储库(此处没有文件下载,因此它应该可以正常工作)

    git clone / path / to / where / you / unzipped / / remote / repository your_local_copy

  4. 编辑你可以在'your_local_copy'目录中找到的.git / config文件

  5. 在[remote“origin”]行的正下方编辑'url'键的值。

    [遥远的“原产地”]

    url = git + ssh://youruser@yourrepositoryhost/srv/git/yourrepository.git

  6. 您的本地存储库现在将指向远程存储库,并且应该按预期工作。

  7. 删除您在步骤2中创建的远程存储库的副本。