git push での容量制限エラー

発端

とある大きな内容を git push しようとすると 見慣れないエラーで失敗しました。

error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
fatal: recursion detected in die handler

解決策1

411 なので送信量の指定がきちんとされていない?と思いつつ、 調べてみると gitlab のフロントにいる nginx が受けつけられる サイズの最大量を超えてしまっていたよう。

これを解決するために nginx の gitlab 用設定に

client_max_body_size 100M;

を一時的に追加しました。

解決策2

しかしそれでも同じエラーが発生していたのでさらに調べたところ、 git が送信するファイル量が多すぎるとこのエラーが発生しするとのこと。 解決策は、送信するファイルのバッファ総量を変更することだそう。 この総量の設定値はローカルリポジトリ毎にもっているので

git config --global  http.postBuffer 524288000

として変更しました。 いくつかのリポジトリで発生したため global を付けて設定しています。

こんな設定値があるのかーと思ったので備忘録として書いておきます。

参考にしたページ