크고 작은 문제들
[Git] fatal: refusing to merge unrelated histories
노새두마리
2023. 8. 30. 23:53
문제 상황
- 우선 로컬에서 프로젝트를 생성하여 작업을 수행하였습니다.
- Github 상으로 README를 추가하여 원격 저장소를 생성하였고, 곧바로 README를 수정하는 커밋을 남겼습니다.
- Git remote add 후 git pull을 시도하였으나 실패하였습니다.
원격 저장소를 생성할 때에 독자적으로 README를 추가하고 수정하는 커밋을 남김으로써 로컬 저장소와는 별개의 커밋 이력을 가지게 되었습니다.
※ 두 Initial 커밋은 서로 다른 커밋입니다.
해결
git pull을 사용할 때에 --allow-unrelated-histories 옵션을 사용하여 강제로 커밋을 공유합니다. 해당 옵션을 사용하면 완전히 별개의 커밋 이력을 가진 저장소 간의 커밋을 공유할 수 있게 됩니다.
위의 방법 이외에도 pull 대신 push의 force 옵션을 이용할 수도 있습니다. 이 경우에 충돌이 있더라도 로컬의 변경사항이 바로 원격에 덮어씌워집니다.
두 방법 모두 기본적으로 공통된 커밋 기록을 가지지 않는 서로 다른 저장소에 대해 강제적인 변경을 적용할 수 있는 옵션이므로 이를 적용할 저장소를 착각하여 사용하지 않도록 주의하여 사용합시다.
참고
https://gdtbgl93.tistory.com/63