Git/error

fatal: refusing to merge unrelated histories

제주니어 2023. 11. 19. 14:53

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