관리 메뉴

솜씨좋은장씨

[Git] fatal: refusing to merge unrelated histories 해결 방법 본문

유용한 정보/Git | GitHub

[Git] fatal: refusing to merge unrelated histories 해결 방법

솜씨좋은장씨 2021. 10. 2. 20:07
728x90
반응형

로컬 저장소의 프로젝트를 GitHub에서 만든 원격 저장소에 Push를 하려고 할 때

$ git push origin main
To github.com:somjang/test-repo.git
 ! [rejected]        main -> main (non-fast-forward)
error: failed to push some refs to 'github.com:42maru-ai/hanmi-broker-api.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

위와 같은 오류가 발생하는 경우가 있는데

 

이때 원격 저장소의 데이터를 로컬 저장소로 pull 을 해온 후에 진행해야합니다.

$ git pull origin main

하지만 pull을 하려고 하면

From github.com:somjang/test-repo
 * branch            main       -> FETCH_HEAD
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이 거부를 한다고 합니다.

$ git pull origin main --allow-unrelated-histories

이를 해결하는 방법은 pull 명령어에 --allow-unrelated-histories 를 붙여 진행하면 됩니다.

 

읽어주셔서 감사합니다.

Comments