Gitのエラー:RPC failed; result=22, HTTP code = 411

git, SourceTree, ターミナル

いつものようにSourceTreeを使ってGitリポジトリにソースコードをPushしようとしたら,こんなエラーが出た。

error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly

リポジトリにアップロードしようとしたファイルがバッファサイズを超えるときに出るエラーらしい。

そういえば6MB程度のファイルがPushする内容に含まれていたっけ。

バッファサイズを大きくすればPushが上手くいくという情報があったので,SourceTreeの次の赤丸で囲んだ「ターミナル」ボタンを押してターミナルを開き,

ターミナル上で「バッファサイズを50MBにする」という意味の次のコマンドを実行した。

git config http.postBuffer 52428800

(52428800は,50MBをByte単位で表記した数値のことだ。)

しかし,エラーは解消されなかった。

SourceTreeを再起動したけどダメ。

サーバー側(自分の場合はUbuntu+GitLab)の問題かなと思ったけど,有力な情報が見当たらない。

そうだ,設定ファイルを直接いじってやろう。

「ターミナル」ボタンの右の右にある「設定」ボタンを押すと次の画面が表示された。

「設定ファイルを編集」ボタンを押すと,設定ファイルを開くプログラムの選択画面が表示されるので,テケトーにテキストエディタを選択した。自分の場合は「サクラエディタ」。

テキストエディタで設定ファイルを開いた状態になるので,末尾に次の記載を追加した。

[http]
    postBuffer = 52428800

これでPushでアップロードできるファイルサイズの上限が50MBになる。

再びPushを試したら上手いこといった。