10
3

はじめに

ディレクトリに写真を追加し,pushした時に以下のようなエラーが出た.
それを解決した手順を書いていく.

Enumerating objects: 31, done.
Counting objects: 100% (31/31), done.
Delta compression using up to 8 threads
Compressing objects: 100% (28/28), done.
error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400
send-pack: unexpected disconnect while reading sideband packet
Writing objects: 100% (28/28), 9.97 MiB | 12.45 MiB/s, done.
Total 28 (delta 16), reused 0 (delta 0), pack-reused 0
fatal: the remote end hung up unexpectedly
Everything up-to-date

この『物語』はぼくがエラーから立ち上がって歩き出す物語だ!

どんなエラー

今回は400エラーがでたのだが,クライアントからサーバーへのリクエストに問題がある場合に発生するとのことだった.
400エラーの種類
つまり,直接的なエラーがなんなのかわからないのだ!!
なので,AIツールでエラーを投げてもわからない.
今回は写真のpushのみでエラーが起きたので,http.postBufferの容量が上限を上回っているのだと予想した.
すると解決した
通常gitのデフォルトのhttp.postBufferの容量はgitconfig2MiBらしい.

400エラーのStackOverFlow

http.postBufferエラーのStackOverFlow

解決方法

pushエラーが起きたもののルートでこのコードをすればいい.

git config http.postBuffer 524288000
git config http.postBuffer 500M

も可

これはHTTP経由でデータを送信する際に使用するhttp.postBufferの容量を500MiBに設定する.

最後に

今回は写真を追加した経緯から,bufferサイズが不足を推測することができたため,たまたま解決できた.しかし,400エラーは多くの場合、具体的な原因を特定することが難しい.本記事で紹介した解決方法は一例に過ぎないが、同様の問題に直面している人にとって、エラー解決の手がかりになることを願っている.
それでは,みなさんよいエンジニア生活を~👋

10
3
2

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
  3. You can use dark theme
What you can do with signing up
10
3