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 저장소를 추가하는 과정을 다시 수행하면 됩니다.
해당 과정은 제 블로그에 정리한 글을 참고하시면 좋습니다.
설정 초기화 이후 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
해당 옵션은 서로 관련없는 두 브랜치의 병합을 허용하는 옵션입니다.
이외에도 다양한 해결방법을 알게 되면 추가로 작성하겠습니다.
다른 글
300x250
'IT종합 > Web Technic' 카테고리의 다른 글
학점은행제 학점인정 온라인으로 신청하는 방법 - 독학사, 학사 학위, 학점은행제 (0) | 2023.06.27 |
---|---|
인스타그램 숍스 신청하고 승인받는 법 정리 (6) | 2023.06.26 |
다음 웹 사이트 검색결과 크롤링 해오기 - Python, BeautifulSoup4, requests (0) | 2023.02.21 |
트위터 API V2 사용법 - 트위터 API 사용시 오류 관련 (0) | 2022.12.02 |
빠르고 간편한 웹 개발을 위한 Jquery cdn (0) | 2020.11.03 |
댓글