【问题标题】:fatal: early EOF fatal: index-pack failed致命:早期 EOF 致命:索引包失败
【发布时间】:2014-02-12 05:00:18
【问题描述】:

我在谷歌上搜索并找到了许多解决方案,但没有一个适合我。

我正在尝试通过连接到 LAN 网络中的远程服务器从一台机器进行克隆。
从另一台机器运行此命令会导致错误。
但是在服务器上使用 git://192.168.8.5 ... 运行 SAME clone 命令是可以的并且成功了。

有什么想法吗?

user@USER ~
$ git clone  -v git://192.168.8.5/butterfly025.git
Cloning into 'butterfly025'...
remote: Counting objects: 4846, done.
remote: Compressing objects: 100% (3256/3256), done.
fatal: read error: Invalid argument, 255.05 MiB | 1.35 MiB/s
fatal: early EOF
fatal: index-pack failed

我已经在.gitconfig 中添加了这个配置,但也没有帮助。
使用 git 版本 1.8.5.2.msysgit.0

[core]
    compression = -1

【问题讨论】:

  • 当我尝试从 VPN 克隆时,我遇到了这个问题 2-3 天。就我而言,问题是网络带宽。我通过在高速网络中克隆来修复。
  • 我也注意到它与网络有关。
  • 我收到此错误是因为我的朋友不太了解 git,并且将大量图像推送到存储库中! =))
  • 我还注意到它与网络有关。我还通过在高速网络中克隆来修复。
  • 我也遇到了同样的错误。我正在使用光纤连接(40Mbps 下载速度)。而且我的存储库中也没有大文件(如图像/视频)。然而仍然得到同样的错误。

标签: git cygwin msysgit


【解决方案1】:

就我而言,我只是升级了我的 OpenSSL 版本。旧版本的 OpenSSL 存在漏洞,也没有可能需要的最新算法。截至今天,命令 openssl version 显示 OpenSSL 1.1.1f 2020 年 3 月 31 日

【讨论】:

    【解决方案2】:

    我在设置git缓冲区后尝试了几次,正如我在问题中提到的,现在似乎可以了。

    因此,如果您遇到此错误,请运行以下命令:

    git config --global http.postBuffer 2M
    

    然后再试几次。

    参考:

    git push error: RPC failed; result=56, HTTP code = 0

    【讨论】:

      【解决方案3】:

      虽然设置不完全相同,但我在安装在 Ubuntu 20.04 上的 nfs 共享上遇到了这个问题。我还没有找到任何解决方案,所以我分享了我是如何解决的,希望我可以帮助某人。

      错误消息是(有时带有/不带有警告):

      warning: die() called many times. Recursion error or racy threaded death!
      fatal: premature end of pack file, 29 bytes missing
      fatal: premature end of pack file, 24 bytes missing
      fatal: index-pack failed
      

      Git 浅克隆、禁用压缩等都没有解决问题。

      当我使用nfsvers=4.2 而不是nfsvers=4.0 安装共享时,问题就消失了。

      【讨论】:

        【解决方案4】:

        对我来说,当我将压缩更改为 git config --global core.compression 9

        这行得通

        【讨论】:

          【解决方案5】:

          只是在这里添加一个提示,如果您的 git clone 命令具有代理参数,您的代理服务器可能会由于其自身的配置而过早断开您的 http/s 请求,从而不允许太大的 http 响应二进制文件。仅供参考。

          【讨论】:

            【解决方案6】:

            这对我有用,因为没有指定标准名称服务器,所以设置了 Google 的名称服务器,然后重新启动网络:

            sudo echo "dns-nameservers 8.8.8.8" >> /etc/network/interfaces && sudo ifdown venet0:0 && sudo ifup venet0:0
            

            【讨论】:

              【解决方案7】:

              如果您使用的是 Windows,您可能需要查看git clone fails with "index-pack" failed?

              基本上,在运行git.exe daemon ... 命令后,从该控制台窗口中选择一些文本。重试拉/克隆,它现在可能就可以工作了!

              请参阅this answer 了解更多信息。

              【讨论】:

                【解决方案8】:

                确保您的驱动器有足够的剩余空间

                【讨论】:

                  【解决方案9】:

                  这些都不适合我,但是使用 Heroku 的内置工具就可以了。

                  heroku git:clone -a myapp
                  

                  此处的文档:https://devcenter.heroku.com/articles/git-clone-heroku-app

                  【讨论】:

                    猜你喜欢
                    • 2020-04-08
                    • 2017-05-26
                    • 2015-06-05
                    • 2011-01-31
                    • 2016-04-10
                    • 2022-08-05
                    • 2013-09-04
                    • 2015-03-25
                    • 1970-01-01
                    相关资源
                    最近更新 更多