TechFeedTechFeed
Git설정

git refusing to merge unrelated histories — 히스토리 공유 안 됨

fatal: refusing to merge unrelated histories
한 줄 해결: 서로 공통 조상이 없는 두 히스토리를 합치려 해서 막힌 것으로, 의도가 맞다면 --allow-unrelated-histories 로 1회 허용합니다.

이런 증상일 때

새로 만든 로컬 저장소를 기존 원격(README 등이 이미 있는)과 합치거나, 별도로 init 한 두 저장소를 pull/merge 할 때 발생합니다.

원인

  • 로컬에서 git init 후 커밋한 히스토리와, 원격에 이미 있던 초기 커밋이 공통 조상 없음
  • GitHub 에서 README/license 와 함께 생성한 저장소를 빈 로컬에 연결
  • 서로 다른 프로젝트 히스토리를 합치려는 실수

해결 방법

1
의도가 맞으면 허용 플래그

두 히스토리를 합치는 게 맞다면 1회 허용 플래그로 pull 합니다.

git pull origin main --allow-unrelated-histories
2
원격을 기준으로 다시 시작

로컬 커밋이 중요치 않으면 원격을 clone 해 거기서 작업하는 게 깔끔합니다.

git clone <원격URL>
3
합친 뒤 충돌 해결

허용 후 같은 파일이 양쪽에 있으면 merge 충돌이 나니 해결하고 커밋합니다.

💡 예방: 새 프로젝트는 원격을 먼저 만들고 clone 해서 시작하면 이 충돌을 피합니다.
gitmergeunrelated historiesinitallow-unrelated

관련 에러

관련 가이드

Git 고급 워크플로우 — 실무에서 바로 쓰는 전략