728x90
반응형
git을 사용하다보면 자주 나오는 에러가 있다. 그래서 찾아보기 쉽게 블로그에 작성하고자 하여 이렇게 작성한다.
🚨 에러 발생 : fatal: refusing to merge unrelated histories
이 에러는 로컬 저장소와 원격 저장소의 이력이 관련 없을 때 발생하게 된다.
나는 주로 새로운 레포지토리를 clone 해오며 다음과 같은 에러를 자주 마주했다.
✅ 에러 발생 이유
그 이유는 Git 레포를 만들고 커밋한 후 저장소에 새로운 commit을 추가하게 되면 로컬 저장소와 원격 저장소의 이력이 서로 관련 없어지게 되기 때문이다.
쉽게 말하면 원격 저장소에서 commit을 추가하게 되면 로컬에서는 이 commit 에 대한 사실을 모르는 상태가 된다. 따라서 로컬에서 원격으로 다시 push 하는 과정에서 서로 관련이 없다고 판단되어 에러가 발생하는 것이다.
🗝️ 문제 해결 방법
이 에러를 처음 마주했을 때 스터디원들과 서로 에러를 공유했던 것이 도움 되었다.
내가 위의 에러를 마주하기 전 나와 동일한 에러를 마주한 스터디원들이 있었고 에러 해결방법에 대해 서로 공유했기에 나도 에러를 마주했을 때 참고로 남겨준 블로그 링크들로 문제를 쉽게 해결할 수 있었다.
에러가 발생하면 다음의 명령어를 통해 문제를 해결할 수 있다.
git pull --allow-unrelated-histories <REMOTE> <BRANCH>
예를 들어 원격 저장소가 origin 이고 브랜치가 dev 일 때는 다음과 같이 작성할 수 있다.
git pull --allow-unrelated-histories origin dev
관련이 없는 경우에도 병합을 허용 하는 명령어이다. 따라서, 관련 이력이 없어도 pull을 할 수 있게 된다.
단, 이 명령어를 사용할 때는 서로 관련 없는 경우에도 pull 할 수 있기 때문에 신중하게 사용해야한다.
💬 느낀점
이 에러는 사실 몇 번을 마주쳤음에도 항상 문제 해결 방법이 기억 나지 않는다. 기억력이 금붕어 같은 나를 위해 작성하는 에러 기록...
📖 참고 자료
🔗git push/pull 할때 fatal: refusing to merge unrelated histories 문제 해결
728x90
반응형
'DevOps > GIT' 카테고리의 다른 글
[GIT] git remote add 원격 저장소 연결하기 (1) | 2024.01.10 |
---|---|
[GIT] git push 에러 해결하는 방법 / error: failed to push some refs to 'github.com:깃허브 repository 주소' (0) | 2023.09.03 |
[GITHUB] Github 프로필 꾸미기 ✨💖🎀 / 깃허브 프꾸하기 (0) | 2023.08.26 |
[Git] Git 에러 / LF will be replaced by CRLF the next time Git touches it (0) | 2023.07.27 |
[Git] GIT 환경 설정(사용자 정보 등록) 및 SSH 등록 (0) | 2023.07.25 |