[Git] git pull/push 에러: refusing to merge unrelated histories

2020. 7. 22. 12:57Git

코딩테스트 준비하기 위해 문제풀이 스터디에 참여하면서 해당 스터디 Organization의 'TIL' 레포지토리에 문제를 풀어서 올렸다. git log를 그대로 들고 오면서 과거 소스코드를 나의 개인 레포지토리 'Problem-Solving'에 옮기고 싶었다.

우선 로컬에 'TIL' 레포지토리를 git clone하였다. 그리고 'TIL' 폴더, 즉 로컬 저장소에 접근하여 git remote rm origin으로 원격저장소 주소를 삭제하였다. 그리고 git remote add origin github.com/Joylish/Problem-Solving.git 으로 로컬 저장소가 참조하는 원격저장소 위치를 지정하였다. 

그리고 git pull origin master 를 했다. 하지만 다음과 같은 에러가 뜨면서 되지 않았다.

refusing to merge unrelated histories

그래서 에잇 몰라하며 git add 로 'TIL'폴더에 있는 파일을 stage시켜 git commit을 했더니 또 같은 에러가 떴다. 검색을하여 해법을 찾았다!

git pull origin [원격 저장소에 있는 브랜치 이름] --allow-unrelated-histories

--allow-unrelated-histories 옵션

git pull 은 기본적으로 서로 관련없는 history를 가진 프로젝트를 병합하는 것을 거부한다. 하지만 git pull할 때, 이 옵션을 함께 주면 git history가 서로 다른 프로젝트를 병합(merge)하는 것을 허용해준다. 

'Git' 카테고리의 다른 글

[Git] 특정 커밋에서 파일 삭제  (0) 2020.08.21