search
LoginSignup
49

More than 5 years have passed since last update.

posted at

updated at

gitで大きいサイズのファイルを扱う時

Git用サーバを管理する立場での、覚え書きになります。

git client側の調整

git pushをしたとき、411のエラーが出てしまう場合があります。
通常、テキストのようなソースコードのpushでは、こういう症状は発生しないのですが、バイナリや画像データを登録している場合は、pushの際にこのエラーが出ることがあります。

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

こういう時は、bufferのサイズを調整しておきます。
以下は、150MBに設定する例。

% git config http.postBuffer 157286400

もしくは .gitconfig に

[http]
        postBuffer = 157286400

を追加するなど。

サーバ側の調整

上記のように、クライアント側でバッファサイズを上げても、サーバ側がそれを処理できない場合があります。そもそも、アップロードの上限値を超えてしまっていたらダメ。

GitのサーバのフロントにNginxを使っている場合は、Nginxのデフォルトのファイルアップロードの上限が小さめなので注意。(Apache自体は上限はデフォルトでは指定無し)

この場合、client_max_body_size を調整します。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
49