git push失败:RPC失败; result = 22,HTTP代码= 411

Zen*_* Qu 123 git github

我只有一个分支.几个月来我一直在用

git push origin master
Run Code Online (Sandbox Code Playgroud)

提交到我的本地存储库.昨晚我对我的本地存储库进行了一些小的更改,并试图使用相同的命令,我得到了这个错误:

error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
fatal: The remote end hung up unexpectedly
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索并发现了这个问题和这个问题,但这些问题的答案都没有解决我的问题.

大多数答案都表明头部脱落的问题.但我不认为我的头是分离的.我也不认为我在错误的分支上(因为我只有一个分支......)

我做了一些实验来弄清楚什么是错的,这是我得到的结果:

(1)首先是我的git status输出

# On branch master
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
# egal.aux
# egal.blg
# egal.out
# egal.pdf
# egalcar.aux
# egalcar.blg
# egalcar.pdf
nothing added to commit but untracked files present (use "git add" to track)
Run Code Online (Sandbox Code Playgroud)

(2)当我键入时git reflog,我可以看到所有本地提交,但远程存储库不会更新.

(3)当我输入时git branch -a,我明白了

* master
  remotes/origin/master
Run Code Online (Sandbox Code Playgroud)

(4)当我输入时git remote show origin,我明白了

* remote origin
  Fetch URL: http://github.com/CherryQu921/egaldoc_en
  Push  URL: http://github.com/CherryQu921/egaldoc_en
  HEAD branch: master
  Remote branch:
    master tracked
  Local ref configured for 'git push':
    master pushes to master (fast-forwardable)
Run Code Online (Sandbox Code Playgroud)

我认为输出的最后一行("快速转发")很奇怪,但我不确定是什么问题......

Mak*_*cha 285

如果您尝试使用HTTP或HTTPS将大量更改推送到Git存储库,则可能会收到错误消息,例如错误:RPC failed; result=22, HTTP code = 411.这是由Git配置默认值导致的,该默认值将某些HTTP操作限制为1兆字节.

要更改此限制,请在本地存储库中运行

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

其中bytes是允许的最大字节数.例如:

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

500MB(感谢@Hengjie)

  • 一个例子是`git config http.postBuffer 524288000`为500MB. (51认同)
  • 如果您正在使用gitlab,您可能还需要更改您的nginx配置(`/ etc/nginx/sites-available/gitlab`).更多信息:https://github.com/gitlabhq/gitlabhq/issues/3099 (9认同)
  • 我仍然收到以下错误git:RPC失败;结果= 22,HTTP代码= 504在Android Studio上的位桶中 (2认同)

jdr*_*n3y 22

你也可以在全球范围内这样做 -

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

这将允许所有本地回购推送高达500MB的数据.