본문 바로가기
Server/git

[git] 에러 | ! [rejected] main -> main (fetch first)

by 꼬바리 2021. 5. 10.

 

 

 

 

 

 

해석

상황

작업을 마친뒤 로컬에서 원격저장소로 git push를 했는데 ! [rejected] main -> main (fetch first) 에러가 발생했다.

원인

해당 에러는 원격저장소와 현재 작업중인 로컬저장소가 동기화되지 않았을 때 발생한다. 동기화되지 않은 상태에서 다시 push하면 데이터가 소실될 수 있어 하고 경고해주는 것.
나의 경우 원인은 이전에 깃허브 웹에서 README를 살짝 건드려봤었는데 그걸 로컬에 pull 하지 않고 작업, 다시 push하려고 해서 에러가 발생했다.

(출처와 마친가지로 나의 경우도 git push후 , README 수정 했다. 그리고 수정된 코드 다시 push하려하니 동기화가 되지 않아 오류가 났다. )

해결

두 가지 방법이 있다.

 

1. 동기화를 위해 pull

git pull --rebase origin main

 

2. 강제로 push

git push origin +main

pull 이전에 발생한 변경사항을 무시(삭제)하고 현재 작업 내용을 강제로 push해도 된다.
이 경우 pull 되지 않은 변경사항은 소실되기 때문에 주의해야 함.

 

나의 경우에는 README를 건드렸던게 중요하지 않았어서 강제로 push했다.

(나의 경우는 동기화 pull후 다시 push했다.)


깃허브에서 확인해보면 해당 README의 변경사항은 사라졌고, 그외 작업내용들은 정상적으로 업로드되었음을 확인할 수 있다.

 

 

출처 : velog.io/@1703979/git-%EC%97%90%EB%9F%AC-rejected-main-main-fetch-first

 

728x90
반응형

댓글