한 개만 더, 한 발만 더

어제보다 조금 더 나은 오늘을 만들기 위해 노력합니다.

파이썬/에러 코드

[github] git push가 되지 않을 때 - error: RPC failed;

토이판다 2023. 1. 26. 23:39

Jeonju, Korea 2023

 

잠들기 직전, 오늘 작업한 코드를 git에 push하려고 했다.. 그런데 에러 코드가 떴다.

 

구글링으로 몇 가지 시도해 봤는데 해결이 안 된다.

 

자고 내일 해결해도 되지만 뭔가 찝찝해서 자기 전에 꼭 고치고 싶다. 어떻게 해야 할까?

 

 


 

에러코드

git push -u origin master

Enumerating objects: 15, done.
Counting objects: 100% (15/15), done.
Delta compression using up to 8 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (12/12), 1.79 MiB | 16.18 MiB/s, done.
Total 12 (delta 5), reused 0 (delta 0), pack-reused 0
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly before end of the underlying stream
send-pack: unexpected disconnect while reading sideband packet
fatal: the remote end hung up unexpectedly
Everything up-to-date

 

시도 1 ... 실패

- 만약 리포지토리를 만든 지 얼마 안됐는데 이것저것 데이터를 넣으면서 용량이 커진 경우에도 비슷한 에러가 나타나는데, 아래와 같이 최대 용량을 늘려주는 방법으로 push 오류 해결이 가능했다. 

git config --global http.postBuffer 524288000

 

시도 2 ... 실패

- 스택오버플로우에 있는 방법으로 HTTP 버전을 강제로 1.1로 조정하는 방법인데, 버전 설정은 건드리고 싶지 않아서 시도하지 않았다.

git config --global http.version HTTP/1.1

(https://stackoverflow.com/questions/59282476/error-rpc-failed-curl-92-http-2-stream-0-was-not-closed-cleanly-protocol-erro)

 

해결!

- 허무할 정도로 간단하다.

주피터 노트북 터미널 종료

- 구글링해서 나온 방법은 아니고, 에러코드 중 'HTTP/2 stream 5 was not closed cleanly'를 보고 혹시나 해서 시도해 본 방법이다.

- 이 때 주피터 노트북을 터미널에서 켜고 다른 터미널 창을 하나 더 켜서 git push를 하고 있었기에 주피터 노트북 터미널만 종료했다.

   아마도 주피터 서버가 열려 있고, 그 서버에 열려 있는 노트북이 완전히 종료되지 않은 상태라 불안정해서 이런 오류가 발생한 것 같다.

※ 혹시 웹 개발 중인 경우 : vscode에서 로컬 웹 서버를 열어 놓고 push를 했을 때 오류가 난다면, 서버 종료 후 push 해보자.

                                        (백그라운드에서 완전히 kill 되었는지 확인 필요)

 

오늘의 교훈

- 역시 재부팅만한 해결책이 없다.

- 다음부터는 혹시 모를 데이터 충돌을 피하기 위해서라도 주피터 노트북을 완전히 종료하고 git push를 하도록 하자.

- 시간이 없다면 구글링 상위 3개 정도 트라이해서 안되면 일단 랩탑을 껐다 켜보자. 최소한 터미널이라도.

- 그래도 바로 랩탑 재부팅을 했으면 정확히 뭐가 문제인지 몰랐을 것... 정신승리 완료.