VSCode에서 rejected, non-fast-forward 해결하기.

·2021년 8월 26일
0

rejected, non-fast-forward

vscode에서 github에 push할 때

원인

  1. 다른 사용자 또는 멤버(=통상 User)가 remote origin/main에 수정 commit
  2. commit을 pull하기 전에 내가 같은 브랜치에 수정
  3. pull하지 않은 상태에서 commit.

나의 경우엔 3번 원인이였다.

해결하기

1. git pull 시에 –allow-unrelated-histories 옵션 추가

git pull origin main –-allow-unrelated-histories
git에서는 서로 관련 기록이 없는 두 프로젝트를 병합할때 기본적으로 거부하는데, 이 거부를 허용해주는 명령어다.
branch에 pull할 권한이 있다면 이 방법 사용할 수 있지만,
pull할 권한이 없다면 다음 방법들 중 하나를 사용하자.

2. GitHub에서 Git Repository에서 과거 Commit내역 삭제

과거 커밋내역을 삭제해도 상관없는거라면 과거 커밋내역 다 삭제하고 push하면 된다.

3. git pull 시에 --force 옵션 추가

git push origin main --force 명령어로 과거 커밋 내역이랑 상관없이 현재 커밋 내용으로 덮어씌운다.


나의 경우에는 branch를 master -> main으로 바꾸고 commit, push main할 때 오류가 난 상황이었고,
pull 후에 merge를 했는데도 push할 때 오류 해결이 안되서 3번 --force명령어를 사용해서 해결했다.

profile
어두운 밤하늘, 밝은 달빛.

0개의 댓글