새소식

에러 해결

-- fatal: refusing to merge unrelated histories

  • -

 

(venv) root@a3709176f3dd:~/mrc# git pull origin dev
From https://github.com/boostcampaitech4lv23nlp2/level2_mrc_nlp-level2-nlp-13
 * branch            dev        -> FETCH_HEAD
fatal: refusing to merge unrelated histories

 

에러 내용은 원격 저장소의 dev 브랜치에서 로컬 저장소의 FETCH_HEAD를 merge하는 것이 거부되었다.

commit 히스토리가 서로 관련이 없기 때문에 merge할 수 없다는 것이다.

(공통된 커밋 포인트가 없다.)

 

fetch는 원격 저장소에 있는 내용을 가져오지만 자동으로 내 로컬 저장소에 merge하지 않는다.
원격 저장소의 내용을 확인만 하고 로컬에 merge하고 싶지 않을 때는 fetch를 사용한다.

HEAD에는 가장 마지막에 행해진 commit정보가 담긴다. 마찬가지로 FETCH_HEAD는 원격 저장소의
가장 최신 commit 이력이 담기게 된다.
FETCH_HEAD는 이름 없는 브랜치로 로컬에 가져오게 된다. 이 브랜치는 FETCH_HEAD로 checkout도
가능하다.

pull 명령어는 원격 저장소에 있는 내용을 가져올 뿐만 아니라, 자동으로 로컬 저장소에 merge한다.
즉, git pull 명령어는 git fetch + merge FETCH_HEAD와 같다.

 

아래와 같이 pull option을 주면 해결할 수 있다.

git pull origin (branchname) --allow-unrelated-histories

 

 

 


https://jobc.tistory.com/177

 

 

728x90
Contents