본문 바로가기
99% 에러잡기 시리즈/Git

[Git 99% 에러잡기] [rejected] master -> master (non-fast-forward) error: failed to push some refs to ' '

by TLOWAC 2020. 7. 14.
백준 알고리즘 소스코드 정리겸 GitHub에 정리해놓을려고 사전 작업을 하던 중 문제가 발생했다.

 

Error Log

 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'https://github.com/Lthek55/BackJoon_Algorithm_JS.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

 

Reson Why Error Occurred

원격 저장소와 로컬 저장소의 연동전에 로컬 저장소에 JS 파일을 5개 정도 생성하였다.

 

원격 저장소에는 README.md 파일이

로컬 저장소에는 5개의 JS 파일이 존재했다.

 

이후에 로컬 저장소의 JS 파일을 원격 저장소로 Push 했고 Error 가 발생했다.

검색결과 알아낸 원인은 로컬 저장소를 처음 생성할때 빠뜨린 명령어가 있었다.

 

[ 실행한 명령어 ]

git init
git remote add origin master ' '

 

[ 빠뜨린 명령어 ]

git pull origin master

 

 git pull origin master  명령어를 빠뜨림으로 원격 저장소의 README.md 파일을 로컬 저장소로 가져오지 못했고

이로 인해 로컬 저장소에서 원격 저장소로 JS 파일을 Push 할때 Error 가 발생했다.


 

How Can I Solved ?

  •  git pull 할때 --allow-unrelated-histories 추가적인 옵션 사용 

 

--allow-unrelated-histories 옵션을 추가하여 원격 저장소로컬 저장소의 병합 허용

git pull origin master --allowed-unrelated-histories

 

Conclusionally determined solution

Reson Why Error Occurred 에 작성한 이유로 인해 Error 발생

 

뒤늦게  git pull origin master  명령어 실행.

하지만, 해결되지 않음.

 

 --allow-unrelated-histories  옵션을 추가하여 명령어 실행.

정상적으로 동작함을 확인할 수 있음.

 

P.S

Github에 새로운 원격 저장소를 만들고 로컬 저장소와 연동할때
 git pull origin master  명령어를 빠뜨리지 않으면 위와 같은 Error는 발생할 일이 없다 . . .


 

 

글 읽어주셔서 감사합니다.

보다 유익한 컨텐츠를 제작할 수 있도록 노력하겠습니다.

- TLOWAC 이창훈 -

댓글