개인 프로젝트를 하던중 작업 내용을 git에 push하려다 토큰이 만료되었다.
그래서 토큰을 새로 발급받고 다시 Push를 하려던 중에 에러가 발생했다.
error: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 send-pack: unexpected disconnect while reading sideband packet
검색해보니 저장소에 올라갈 내용이 많다면 http packet제한에 걸려 실패할 수 있다고 한다.
이미지를 조금 많이 넣었는데 그게 문제가 되었던가 같다.
이미지의 용량을 적게 만드는 방법도 있는지 알아봐야겠다.
대충 계산해보니 2MB가 넘는 크기였다.
푸시할 데이터 크기 확인
git count-objects -vH
출력에서 size-pack 값이 postBuffer크기를 넘으면 에러가 발생한다.
바로 깃헙 패킷용량을 500MB로 변경해서 올려보았다.
git config http.postBuffer 524288000
git push origin main
바로 성공했다.
궁금해서 git의 패킷 확인 명령어를 통해 디폴트 용량에 대해 알아보았다.
git config --get http.postBuffer
http.postBuffer: 1MB (1,048,576 바이트)
이미지가 여러개 올라가면 1MB는 금방 넘어버릴 수 있다.
그럴때는 postBuffer크기를 늘리거나, push를 나눠서 해야 할거같다.
변경한 패킷 용량은 다시 원래 사이즈로 변경했다.
git config --global http.postBuffer 1048576
해당 에러를 만난 분들이 이글을 통해 해결하고 개발에 집중할 수 있으면 좋겠다