문제 상황
- 우선 로컬에서 프로젝트를 생성하여 작업을 수행하였습니다.
- Github 상으로 README를 추가하여 원격 저장소를 생성하였고, 곧바로 README를 수정하는 커밋을 남겼습니다.
- Git remote add 후 git pull을 시도하였으나 실패하였습니다.
원격 저장소를 생성할 때에 독자적으로 README를 추가하고 수정하는 커밋을 남김으로써 로컬 저장소와는 별개의 커밋 이력을 가지게 되었습니다.
※ 두 Initial 커밋은 서로 다른 커밋입니다.
해결
git pull을 사용할 때에 --allow-unrelated-histories 옵션을 사용하여 강제로 커밋을 공유합니다. 해당 옵션을 사용하면 완전히 별개의 커밋 이력을 가진 저장소 간의 커밋을 공유할 수 있게 됩니다.
위의 방법 이외에도 pull 대신 push의 force 옵션을 이용할 수도 있습니다. 이 경우에 충돌이 있더라도 로컬의 변경사항이 바로 원격에 덮어씌워집니다.
두 방법 모두 기본적으로 공통된 커밋 기록을 가지지 않는 서로 다른 저장소에 대해 강제적인 변경을 적용할 수 있는 옵션이므로 이를 적용할 저장소를 착각하여 사용하지 않도록 주의하여 사용합시다.
참고
https://gdtbgl93.tistory.com/63
'크고 작은 문제들 > 오류' 카테고리의 다른 글
[로컬 개발 환경] 윈도우 MySQL ↔ ubuntu node.js(mysql2) 연결 오류 해결 (2) | 2023.10.25 |
---|---|
[TypeScript] TS7053 - Object.keys() (0) | 2023.09.23 |
[react-router-dom + jest] TypeError: Cannot destructure property 'basename' of 'React__namespace.useContext(...)' as it is null. (0) | 2023.09.04 |
[node.js] Github Actions로 테스트 수행 중 replaceAll 함수 오류 (0) | 2023.06.17 |
[React] Warning: validateDomNesting(...) (0) | 2023.06.07 |