깃허브 error: failed to push some refs to...

링딩·2021년 10월 18일
4

깃허브

목록 보기
2/2

이렇게 많은 검색을 시도한 끝에,,, 눈물을 흘렸다..
해결했다... 꼬옥 여러분들도 성공하시길





상황)

  1. 로컬을 깃허브에 처음으로 commit하려던 상황.
  2. 원격 저장소를 만들면서 READ.ME를 만들어 놓음 -> 원격과 로컬의 저장상태가 다름.
  3. git push origin main 결과로, [rejected] master -> master (non-fast-forward) 라는 에러가 발생함.



😥 error: failed to push some refs to ...

(non-fast-forward)라고 뜨는 오류였다.

보통 원인은 크게 git에 push를 할 때 발생한다고 한다.

  • 원격저장소(github)에 내 로컬(내 컴퓨터)에 없는 파일이 있는 상황에서 push 날렸을때
    => 원격과 로컬이 달라서 발생한 문제


* 해결방법

    1. git pull 원격 저장소 으로 원격과 로컬의 저장소 간의 차이가 없도록 만든 후 다시 git add,commit 하고 push를 해준다.
    1. 강제로 push하여 커밋의 이력을 덮어 씌운다. (일부 삭제가 될 위험이 있다고 함)

그런데 필자는 1번과 2번을 선택해도 해결이 안되었다..



* 1,2번 방법을 실패한 필자가 해결한 방법 .

rain98 님의 첫번째 방법을 통해 해결할 수 있었다.
오리 님을 통해서도 정답을 알 수 있었다.

git pull origin main --allow-unrelated-histories

  • 이 명령어 통하여 위의 1번 방법에 '--allow-unrelated-histories'를 추가해주었다.
  • 이 옵션은 서로 관련기록이 없는 이질적인 두 프로젝트를 병합할때 거부를 일으키는게 기본인데, 이를 예외적으로 허용 해주는 것이다.
profile
초짜 백엔드 개린이

0개의 댓글