Gitのリモートリポジトリにpushするときに次のようなエラーが発生して失敗してしまうことがあります。
error: unable to rewind rpc post data - try increasing http.postBuffer
error: RPC failed; curl 56 LibreSSL SSL_read: Connection reset by peer, errno 54
send-pack: unexpected disconnect while reading sideband packet私の場合は、AWSのCodeCommitにpushするときにこのエラーが起きました。対策方法は2通りあります。
対応方法1: http.postBufferを増やす
シェルに出力されている通りにhttp.postBufferの値を増やすという方法です。次のようにします。
git config --global http.postBuffer 524288000値については環境によって異なると思いますが、とりあえず大きいすれば良いはずなので大きめの値を指定します。
この方法で直る場合もあるようですが、私の場合はこの方法では直りませんでした。
対応方法2: 接続プロトコルを変更する
シェルに出力されているエラーを見るとhttpの転送時の転送容量が問題になっているようです。Gitはhttpsの他にsshによる接続にも対応しています。sshで接続するには次の手順で行います。
sshで接続するには接続するアカウントのsshの公開鍵をサーバーに登録します。
git remote set-urlを使ってURLをssh接続のURLに変更します。
git remote set-url origin ssh://URL_TO_REPOSITORYgit remote -v でURLを確認します。通常はfetchとpush両方ともSTEP 2で変更されますがpushだけ変わらないことがあります。その場合は次のようにしてpush用のURLも変更します。
git remote set-url --push origin ssh://URL_TO_REPOSITORY私の場合は対応方法2のsshに変更するという方法で解決でき、正常にpushできるようになりました。











