1. ホーム
  2. git

[解決済み] git push に失敗しました。RPC に失敗しました; result=22, HTTP code = 411

2022-07-03 03:34:07

質問

私は1つのブランチしか持っていません。数ヶ月間、私は

git push origin master

を実行して、ローカルリポジトリにコミットしました。昨晩、ローカルリポジトリにちょっとした変更を加え、同じコマンドでプッシュしようとしたところ、このエラーが発生しました。

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

ググってみると、以下のような質問がありました。 これ とか これ などがありますが、これらの質問の答えはどれも私の問題を解決するものではありません。

ほとんどの回答は、以下の問題を示唆しています。 分離した頭部 . しかし、私は自分の頭が切り離されているとは思っていません。また、私が間違った枝にいるとも思っていません(私には1つの枝しかないので...)。

何が問題なのかを解明するためにいくつかの実験を行い、得られた結果を以下に示します。

(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)

(2)私が git reflog と入力すると、ローカルでのコミットはすべて表示されますが、リモートリポジトリは更新されません。

(3) 私が git branch -a と入力すると

* master
  remotes/origin/master

(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)

最後の行の出力("fast-forwardable")がおかしいと思うのですが、何がおかしいのかよくわかりません......。

どのように解決すればよいのでしょうか?

HTTP や HTTPS を使って Git リポジトリに大きな変更点のセットをプッシュしようとすると、error のようなエラーメッセージが表示されることがあります。 RPC failed; result=22, HTTP code = 411 . これは、特定のHTTP操作を1メガバイトに制限するGit設定のデフォルトが原因です。

この制限を変更するには、ローカルリポジトリで

git config http.postBuffer *bytes*

ここで、bytesは許可された最大バイト数です。例えば

git config http.postBuffer 524288000

500MBの場合(@Hengjieさんありがとうございます。)