본문 바로가기
IT종합/Web Technic

Git Push Error 충돌 관련 오류 해결법 (rejected non-fast-forward)

by 우동이 2023. 5. 29.
300x250

 


$ git push origin main
> To https://github.com/USERNAME/REPOSITORY.git
>  ! [rejected]        main -> main (non-fast-forward)
> error: failed to push some refs to 'https://github.com/USERNAME/REPOSITORY.git'
> To prevent you from losing history, non-fast-forward updates were rejected
> Merge the remote changes (e.g. 'git pull') before pushing again.  See the
> 'Note about fast-forwards' section of 'git push --help' for details.

 

해당 글의 작업환경은 Visual studio Code 입니다.

git push 이후 저장소의 충돌이 발생하여 push 명령이 수행되지 않는 케이스입니다.

 

<예시>

$ git push origin master

<깃 충돌로 인한 Error 발생>

 

이런 경우 해결방법은 다음과 같습니다.

 


git 설정 초기화 후 push 강제 명령

 

$ git init
#초기화

 

현재 작업환경의 git 저장소 설정을 초기화 합니다.

이후 git 저장소를 추가하는 과정을 다시 수행하면 됩니다.

 

해당 과정은 제 블로그에 정리한 글을 참고하시면 좋습니다.

 

github 저장소 관리법

 

설정 초기화 이후 push를 재 수행합니다.

 

 

git push origin +master
# 강제 push 브랜치에 +를 붙임

git push -f(--force) origin master
# push 강제 수행

 

여기서 +는 강제(force) 명령 수행입니다.

즉 push를 강제로 수행하는 방법입니다.

 

저는 다른 소프트한 방법을 전부 참고하고 시도해봤습니다(branch 병합, 초기화 후 재설정, READ.md 파일 생성)

 

다른 방법 다 했는데 안되면 그냥 강제 Push 하세요,,

 

혹시 다른 방법도 참고하고 싶다면 아래 작성해두겠습니다.

 


git pull - 브랜치 병합

git pull origin master --allow-unrelated-histories

 

pull 때 브랜치를 병합하도록 해준다

 

--allow-unrelated-histories

 

 해당 옵션은 서로 관련없는 두 브랜치의 병합을 허용하는 옵션입니다.

 

이외에도 다양한 해결방법을 알게 되면 추가로 작성하겠습니다.

 

 

다른 글

 

이베이 셀러

 

드론 비행

 

ChatGPT 사용기

 

개인 서버 이용기

 

해킹

300x250

댓글