将提交提交到github时Git失败了

Ste*_*vin 127 git rpc github

我将我在github上托管的git repo克隆到我的笔记本电脑上.我能够毫无问题地成功地将几个提交推送到github.但是,现在我收到以下错误:

Compressing objects: 100% (792/792), done.
error: RPC failed; result=22, HTTP code = 411
Writing objects: 100% (1148/1148), 18.79 MiB | 13.81 MiB/s, done.
Total 1148 (delta 356), reused 944 (delta 214)
Run Code Online (Sandbox Code Playgroud)

从这里,它只是挂起,我终于有机会CTRL+ C回终端.

Wil*_*ill 281

我有同样的问题,并认为它与你试图推动的repo的大小(编辑或特定文件的大小)有关.

基本上我能够创建新的repos并将它们推送到github.但现有的不行.

HTTP错误代码似乎支持我,它是一个"需要长度"错误.所以也许它太大而无法计算或最大化.谁知道.

编辑

我发现问题可能是文件很大.我有一个不会推动的更新,即使我已成功推进到那一点.提交中只有一个文件,但它恰好是1.6M

所以我添加了以下配置更改

git config http.postBuffer 524288000
Run Code Online (Sandbox Code Playgroud)

允许最多500M的文件大小然后我的推送工作.这可能是最初在http协议上推出一个大型回购的问题.

结束编辑

我可以让它工作的方式(在修改postBuffer之前编辑)就是把我的repo复制到一台可以通过ssh执行git的机器上,然后将它推送到github.然后,当您尝试从原始服务器执行推/拉时,它应该通过https工作.(因为它比原始推送的数据量要小得多).

希望这可以帮助.

  • 将这个值设置得非常高是不是有缺点? (23认同)

Von*_*onC 5

看起来像是服务器问题(即“GitHub”问题)。
如果你看一下这个线程,当堆被损坏时,它可能会发生git-http-backend。(而且因为他们只是部署了智能http支持...... )
但无论实际原因是什么,它也可能与最近的零星中断有关GitHub 文件服务器之一

您仍然看到此错误消息吗?因为如果你这样做:

  • 检查本地 Git 版本(并升级到最新版本)
  • 将此报告为GitHub bug

注意:智能 HTTP 支持对于我们这些基于身份验证的企业防火墙代理背后的人来说是一件大事!

从现在开始,如果您通过 URL 克隆存储库http://并且使用 Git 客户端版本 1.6.6 或更高版本,Git 将自动使用更新、更好的传输机制。
然而,更令人惊奇的是,您现在还可以推送该协议并克隆私有存储库。如果您访问私有存储库,或者您是协作者并且想要推送访问,您可以将您的用户名放在 URL 中,当您尝试访问它时,Git 会提示您输入密码。

老客户也会退回到旧的、效率较低的方式,所以不会有任何问题——只是新客户应该工作得更好。

再次强调,请确保先升级您的 Git 客户端。


小智 5

如果此命令无济于事

git config http.postBuffer 524288000

尝试将ssh方法更改为https

git remote -v
git remote rm origin 
git remote add origin https://github.com/username/project.git
Run Code Online (Sandbox Code Playgroud)