Git Push 했을 때, 다음처럼 에러가 발생할 때가 있다.
문제
$ git push
Counting objects: 2332669, done.
Delta compression using up to 16 threads.
Compressing objects: 100% (360818/360818), done.
error: RPC failed; result=22, HTTP code = 411
fatal: The remote end hung up unexpectedly
Writing objects: 100% (2332669/2332669), 483.30 MiB | 114.26 MiB/s, done.
Total 2332669 (delta 1949888), reused 2330461 (delta 1949349)
fatal: The remote end hung up unexpectedly
원인
Proxy 설정도 해보고 .git 폴더의 config를 수정해보아도 같은 에러가 여전히 발생했다.
이유는 한꺼번에 많은 양의 데이터들(파일들)을 push할 때,
git에서 제공해주는 buffer size가 작아서 발생할 수 있는 에러이다.
Git에서 사용하는 HTTP 프로토콜은 크기가 1MB보다 큰 데이터를 푸시할 때,
"Transfer-Encoding : chunked" 라는 것을 사용한단다.
일부 프록시 서버는 기본적으로 이 Transfer-Encoding 을 지원하지 않으며 Request가 Bitbucket Server에 도착하기 전에 거부된다.
아마 회사에서 사용하는 프록시 서버에서 Transfer-Encoding을 지원하지 않은 듯 하여 발생한 에러로 추정된다.
해결
Git의 버퍼 크기를 repo의 가장 큰 파일의 사이즈만큼 늘리면 된다.
git config --global http.postBuffer 157286400
이런 식으로 명령어를 수행하여 버퍼 사이즈를 늘리면 해결된다.
'개발레시피 > └ 유틸' 카테고리의 다른 글
[Angular] angular-cli 업데이트 하는 방법 (0) | 2017.06.26 |
---|---|
[TEST] REST Assured를 사용한 REST API 테스트 (0) | 2017.06.19 |
[PyQt] PyQt 설치하기 (0) | 2017.05.28 |
[Python] 여러 버전의 python 동시에 사용하기 (0) | 2017.05.28 |
[Tool] ConEmu, 윈도우 콘솔 에뮬레이터, 예쁘게 cmd창 사용하기 (0) | 2017.05.27 |
Comments