はじめに
ディレクトリに写真を追加し,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の容量はgitconfig
2MiBらしい.
400エラーのStackOverFlow
http.postBufferエラーのStackOverFlow
解決方法
pushエラーが起きたもののルートでこのコードをすればいい.
git config http.postBuffer 524288000
git config http.postBuffer 500M
も可
これはHTTP経由でデータを送信する際に使用するhttp.postBufferの容量を500MiBに設定する.
最後に
今回は写真を追加した経緯から,bufferサイズが不足を推測することができたため,たまたま解決できた.しかし,400エラーは多くの場合、具体的な原因を特定することが難しい.本記事で紹介した解決方法は一例に過ぎないが、同様の問題に直面している人にとって、エラー解決の手がかりになることを願っている.
それでは,みなさんよいエンジニア生活を~👋