레거시모음/오류해결

git push 오류가 생길 때 (부제: error: failed to push some refs to)

gakko 2022. 1. 13. 13:00

 

 

 

local에는 readme파일이 없는데 원격저장소에만 있을 때 생기는 오류라고 한다.

git add README.md를 시도해봤지만 도저히 되지가 않아서

깃허브에 직접 추가했었다. 그래서 로컬저장소와 원격 저장소와의 괴리가 생긴듯하다.

 

 

1. 강제로 push 하기 (주의! 원격저장소의 파일이 훼손될 수 있음)

처음 이 오류가 발생했을 때 여러 블로그를 전전하며 오류 해결방법을 찾아봤었다.

어떤 블로그에서 이 방법을 추천해줄길래 해봤었다.

git push -f origin

실제로 되긴된다.

강제로 푸시하면 문제해결이 되나 싶었더니 README.md 파일 날라가버린다.

README를 잘 꾸며놓았는데 날라간다면 정말 화날 것 같으니 주의하는 게 좋겠다.

 

 

 

2. 추천하는 방법 - git pull

 hint라고 적힌 부분을 잘 읽어보자....

오류가 났을 때도 git pull을 하라는 힌트를 준다.

 

 

아래 명령어를 입력해 원격저장소의 정보를 로컬저장소로 가지고 와야한다.

git pull origin main
(git pull 저장소 브랜치)

 

원래 없었던 README.md 가 성공적으로 로컬에 저장되었다.

git add .
git commit -m ""
git push origin main

그리고 명령어를 차례로 입력해 커밋을 진행하면

원격저장소에 push가 정상적으로 진행됨을 알 수 있다.

귀찮더라도 pull 명령어를 사용한 뒤 push 명령어로 진행하는 것을 추천한다.