fatal: refusing to merge unrelated histories
git pull 또는 git merge를 수행할 때 발생하며,
이는 로컬 브랜치와 리모트 브랜치가 서로 관련이 없는 역사(즉, 공통의 조상이 없는)를 가지고 있음을 나타낸다.
이 오류는 주로 새로운 리포지토리를 생성하고 초기 커밋을 하지 않은 상태에서 기존 리포지토리와 병합하려 할 때 발생한다.
내가 이 문제가 발생한 이유는,
github에 repository를 생성하고, intellij로 프로젝트를 생성.
이 프로젝트를 github에 있는 repository에 commit 하려고 하는 데, 계속 위와 같은 에러가 발생했다.
remote 에 있는 내용을 pull 받지 않은 상태에서 commit 하려다 보니 발생한 것으로 판단된다.
Solution
이 문제를 해결하기 위해, --allow-unrelated-histories 옵션을 사용하여 강제로 병합할 수 있다.
이 옵션은 Git이 서로 관련 없는 두 프로젝트의 히스토리를 병합하도록 허용하지만 이 옵션을 사용할 때는 주의 필요 !
서로 관련 없는 두 프로젝트를 병합하면 예상치 못한 충돌이 발생할 수 있으며, 프로젝트의 구조에 영향을 줄 수 있다.
git pull origin master --allow-unrelated-histories
git push origin master