【问题标题】:git push gives: error: RPC failed; curl 18 transfer closed with outstanding read data remaininggit push 给出:错误:RPC 失败; curl 18 传输已关闭,剩余未完成的读取数据
【发布时间】:2019-09-13 01:34:37
【问题描述】:

我在克隆过程中发现了许多与此错误有关的问题。但是我在推送到远程时得到了这个。

关于我的远程仓库:包含很多小文件(一个数据集)。
互联网连接:我的大学网络速度不错(~ 10MBps)在代理后面。我可以保证代理不是问题。

我提交了很多小文件(现在更多了)。当我开始收到此错误时,我试图推动它们。所以我删除了所有文件以使文件夹足够小,然后我再次尝试推送它。现在我正在尝试推送大小约为 40MB 的少量文件(~20-30)。这出现了。

$ git push origin master               
Counting objects: 8124, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8105/8105), done.
Writing objects: 100% (8124/8124), 2.64 GiB | 539.00 KiB/s, done.
Total 8124 (delta 27), reused 8091 (delta 18)
error: RPC failed; curl 18 transfer closed with outstanding read data remaining
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date

另外,当我提交时,其中很多文件都处于删除模式,这对我来说似乎是正确的,因为我之前提交了它们。现在我的文件约为 40MB,我的 .git 文件夹约为 6GB。

如果有人可以帮助解决问题,我将不胜感激。

【问题讨论】:

  • 您的提交历史中是否有一些非常大的文件,例如 100MB 或更大?您是否使用了代理,例如 HAProxy?
  • 这个错误意味着你的连接在某个时候被截断了;网络上的某些东西导致连接断开。很多时候,当涉及到代理时,它就是代理。在没有代理的情况下从其他网络尝试。
  • @LasseVågsætherKarlsen 是的,在之前的提交中,有一些大文件。但我现在删除了它们。提交时,我看到这些文件处于删除模式。我在 LDAP 代理后面。
  • @bk2204 我之前推送过此类文件。我很确定,这与代理无关。

标签: git


【解决方案1】:

尝试不同的推送大小,意思是:

git reset @~取消最后一次提交。

然后只添加一小部分文件,提交并尝试推送这些文件。
对其他文件重复此操作。

【讨论】:

  • 这是唯一对我有用的东西。我将上面解决方案中的 @~ 替换为倒数第二次提交的提交代码,然后暂存、提交和推送更小批量的文件。
  • @AbrieNel 做得好。在这种情况下,推一个较小的集合确实是一个不错的选择。
【解决方案2】:

尽可能多地增加“http.postBuffer”

git config --global http.postBuffer 524288000

【讨论】:

    【解决方案3】:

    我在将一些代码推送到 Github 时遇到了同样的问题。

    我尝试了git config --global http.postBuffer 524288000,但它对我不起作用。

    原因

    这是因为您的提交历史记录和/或任何文件较大。

    我的情况

    就我而言,是 package-lock.json 导致了问题。 它有 1500+KB 大小和 33K 行代码

    我是怎么解决的?

    1. 我提交并推送了所有内容没有 package-lock.json
    2. 复制 package-lock.json的内容。
    3. GitHub 存储库页面创建了一个名为 package-lock.json 的新文件
    4. 粘贴 package-lock.json的内容并提交。
    5. git pull 在本地。

    完成了。

    提示

    • 保持每个提交大小更小
    • 频繁推送
    • 使用良好的互联网连接
    • 尝试从 HTTP 切换到 SSH

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2020-07-07
      • 2021-04-21
      • 2021-04-09
      • 2016-12-01
      • 2010-12-18
      • 1970-01-01
      • 1970-01-01
      • 2021-01-03
      相关资源
      最近更新 更多