내가 이 글을 쓰게 된 계기는 바로 다음과 같은 에러 때문이다.
$ git pull
-- fatal: refusing to merge unrelated histories
이 에러에 대해서 이야기하기 위해 먼저 pull과 fetch를 비교해 보자.
##1. pull과 fetch 비교
###1) pull
fetch + merge. 즉, 원격 저장소에 있는 내용을 가져와 로컬에 있는 내용(내 코드)과 합친다.
###2) fetch
pull처럼 원격 저장소에 있는 내용을 가져오되 merge는 하지 않는다. 내용을 확인만 하고 합치고 싶지 않을 때 사용한다.
이때 merge는 remote repository와 local repository의 공통된 commit 지점부터 병합을 시작한다. 따라서 공통된 commit 지점이 있어야 한다. 그런데 그 공통된 commit 포인트가 없어서 위와 같은 에러가 난 것이다. 이에 대해 두 가지 해결책을 찾았다.
##2. 에러 해결책
###1) git clone
remote repository를 그대로 복제
###2) pull 명령어에 옵션 추가
강제로 pull
$ git pull origin *branchname* --allow-unrelated-histories
'개발' 카테고리의 다른 글
[Linux] 파일 로그 보기(tail) (0) | 2020.03.20 |
---|