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-histories2
원격을 기준으로 다시 시작
로컬 커밋이 중요치 않으면 원격을 clone 해 거기서 작업하는 게 깔끔합니다.
git clone <원격URL>3
합친 뒤 충돌 해결
허용 후 같은 파일이 양쪽에 있으면 merge 충돌이 나니 해결하고 커밋합니다.
💡 예방: 새 프로젝트는 원격을 먼저 만들고 clone 해서 시작하면 이 충돌을 피합니다.
gitmergeunrelated historiesinitallow-unrelated