Help us understand the problem. What is going on with this article?

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

More than 5 years have passed since last update.

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 を調整します。

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away