[図1] TortoiseGit でのエラー表示例 |
[図2] Eclipse でのエラー表示例 |
HTTP ステータスコード 411 の定義には「The server refuses to accept the request without a defined Content- Length. The client MAY repeat the request if it adds a valid Content-Length header field containing the length of the message-body in the request message.」と書かれている。つまり、このステータスコードは、クライアントの HTTP リクエストに Content-Length ヘッダーが付いていないことを理由としてサーバーがリクエストを拒否する場合に返されるのであるが、git push のときにこのステータスコードが返される原因は、push しようとしているデータ量が多過ぎることにある。
この問題の対処法は、git の設定値 http.postBuffer の値を大きくすることである。例えばこの値を 100MB (100 * 1024 * 1024 = 104857600) にするには、コマンドラインでは次のように打ち込む。
git config http.postBuffer 104857600
TortoiseGit の GUIでおこなうには、エクスプローラのコンテキストメニューから、TortoiseGit → Settings で TortoiseGit の設定ダイアログを表示し、Git → Config → Edit local git/config で設定ファイルを開き、http.postBuffer に関する設定を追記する。
[http]
postBuffer = 104857600
[図3] git 設定ファイルに http.postBuffer を追記 |