삽질일기

[GitHub] git pull이 안되는 경우 (fatal: refusing to merge unrelated histories)

키크니개발자 2022. 7. 8. 23:40

💡 코드가 보이지 않으시다면 드래그 혹은 오른쪽 아래 🌜 아이콘을 눌러 테마 색을 변경해주세요.

 

 

안녕하세요!

키크니 개발자 입니다. 🦒

 

GitHub에서 Repository를 처음 생성하면 main branch로 생깁니다. (master에서 바뀐지 얼마안되었다고 합니다.)

인텔리제이에서는 처음 git을 init으로 저장소를 초기화 하게 되면 기본 branch가 master로 세팅되었습니다.

이를 전에 바로 push를 하게 되니 main, master branch가 나뉘어서 저장되어 

이번에는 인텔리제이의 master branch를 main branch로 변경해주었습니다.

 

하지만 origin에 있는 main branch랑 local에 있는 main branch랑 버전이 맞지 않아 push가 안되면서 충돌이 일어났습니다.

그래서 local에서 pull을 해서 origin에 있는 상황과 맞춰주려고 하는데 아래와 같은 이유로 거절당하였습니다.

hint: Pulling without specifying how to reconcile divergent branches is
hint: discouraged. You can squelch this message by running one of the following
hint: commands sometime before your next pull:
hint: 
hint:   git config pull.rebase false  # merge (the default strategy)
hint:   git config pull.rebase true   # rebase
hint:   git config pull.ff only       # fast-forward only
hint: 
hint: You can replace "git config" with "git config --global" to set a default
hint: preference for all repositories. You can also pass --rebase, --no-rebase,
hint: or --ff-only on the command line to override the configured default per
hint: invocation.
fatal: refusing to merge unrelated histories

아래의 같은 명령어를 사용하니 해결되었습니다.

git pull origin 브런치명 --allow-unrelated-histories

--allow-unrelated-histories 

이 명령 옵션은 이미 존재하는 두 프로젝트의 기록을 저장하는 것 이라고 합니다.

즉, git에서는 서로 관련 기록이 없는 이질적인 두 프로젝트를 병합할 때 기본적으로 거부하는데,

이것을 허용해주는 것을 의미합니다.

 

아무래도 다음부턴 다른 방법으로 repository랑 연동을 시켜야되겠다고 생각했습니다. 😅

 

⭐️  참고한 곳  


https://gdtbgl93.tistory.com/63

반응형