Git推送意外挂断。 RPC 失败。 HTTP2 框架层错误

Git Push hangs up unexpectedly. RPC Failed. Error in HTTP2 framing layer

自从过去 5-6 小时尝试将 138kb 提交推送到 Google 云上托管的存储库以来,一直出现此错误。

我已经推送这个 repo 很长时间了,但今天才遇到这个错误。

error: RPC failed; http2 499 curl 16
fatal: the remote hung up unexpectedly.
fatal: the remote hung up unexpectedly.

我试过以下方法:

  1. 将 http.postBuffer 增加到 1 GB
  2. 运行垃圾回收
  3. 删除远程源并重新添加它

我无法为 git 使用 ssh。它不允许我克隆(权限被拒绝)。

499:客户端关闭请求:我怀疑它超时了。

我正在使用 Mac OS Catalina 10.15.4 Git 版本 2.26.2

Git 推送在以下输出后冻结:

Enumerating objects: 61, done.
Counting objects: 100% (61/61), done.
Delta compression using up to 4 threads
Compressing objects: 100% (31/31), done.
Writing objects: 100% (41/41), 138.25 KiB | 15.36 MiB/s, done.
Total 41 (delta 27), reused 18 (delta 10), pack-reused 0

[解决方案]

所以,我通过重置和使用 Git Large File Storage Extension - Article 如何使用它来解决它

我采取的解决步骤:

  1. 对 HEAD 之前的提交执行软重置 (git reset --soft HEAD~3)
  2. 删除文件并提交其余更改
  3. 开始使用 lfs 扩展名跟踪 .jpg 文件git lfs track ".jpg"
  4. 添加文件
  5. 提交并推送

砰!有效。我已经正式在这个问题上花费了 8 个小时。希望这对面临此类问题的其他人有所帮助。

通常,此类 RPC 错误与提交中的大文件(块)有关。祝你好运!

我遇到了同样的问题,但不是文件太大造成的。 使用 git reset --soft HEAD~2 重置回 master 的 HEAD 只需再次提交所有内容即可解决问题。

感谢 Varun Joshi。