반응형
내 remote와 실제 원격의 remote의 일치점이 아예 없으면
git fetch, git pull, git remote update 어떤 걸 시도해도 다음과 같이 에러가 남
! [rejected] master -> origin/master (non-fast-forward)
- 여기서 중요한건 fetch도 에러가 난다는 것 fetch도 일종의 merge? origin/remotes와 내 로컬의 remote를 merge하는 것???? 근데 정상이라면 항상 fast forward merge만 이루어짐. 내가 remote를 수정할 일이 없기 때문
- fetch는 remote의 최신을 FETCH_HEAD라는 이름으로 가져오는 것인데, 기존 remote와 상관없이 별도로 가져오는 것은 아님- 만약 그렇다면 이렇게 non-fast-forward라는 이름으로 에러가 날 일이 없음
- 즉 fetch는 fast-forward merge만 하는 merge라는 것! 근데 fast-forward가 안되니까 non-fast-forward error발생
만약 누군가가 push --forced option을 사용해서 push를 했다면 그걸 pull받는 입장에서는 위 에러가 날수 밖에 없음
--force push를 했다는 것 자체가 이전에 순차적으로 쌓인 history를 무시하고 다른 걸 넣은 것이므로
깃허브 non-fast-forward 에러 해결하기
깃허브 non-fast-forward 에러 해결하기
velog.io
반응형