# git pull --allow-unrelated-histories --- ## 1. git pull --allow-unrelated-histories 란? `--allow-unrelated-histories`는 Git에서 서로 연관되지 않은 두 히스토리를 강제로 병합할 때 사용하는 옵션이다. 보통 서로 다른 프로젝트를 하나로 합치거나, 원격 저장소와 로컬 저장소가 서로 공통 조상을 갖지 않을 때 사용한다. --- ## 2. 오류 상황 예시 ```bash fatal: refusing to merge unrelated histories ``` ### 🧨 언제 발생하나? - 로컬에서 `git init`으로 새 저장소 생성 후 커밋 - 원격 저장소(GitHub)에 다른 초기 커밋이 존재 (예: README.md) - 이후 `git pull origin main` 시 위 오류 발생 --- ## 3. 해결 방법 ```bash git pull origin main --allow-unrelated-histories ``` - 두 히스토리 병합 강제 수행 - 이후 충돌(conflict)이 발생할 수 있으니 수동으로 해결 필요 --- ## 4. 사용 예 ```bash # 로컬 초기화 git init git remote add origin https://github.com/user/repo.git # 강제 병합 git pull origin main --allow-unrelated-histories ``` --- ## 5. 주의사항 - ****한 번만 사용하면 충분****: 병합이 끝나고 연결되면, 이후부터는 일반 `git pull`로도 작동합니다. - 병합 충돌 발생 가능성이 크므로 ****사용 후 커밋 기록 확인**** 필수 --- ## 6. 관련 옵션
옵션 | 설명 |
---|---|
`--rebase` | 병합 대신 리베이스로 히스토리 깔끔하게 유지 |
`--no-commit` | 병합하되 커밋은 직접 하고 싶을 때 |
`--strategy=ours` / `theirs` | 충돌 시 우선할 히스토리 선택 |