현재 내 깃 버전은 다음과 같다.
git version 2.37.2
어떤 버전에서부터인진 모르겠지만 이전 버전에서는 git pull
을 할 때 자동으로 merge 전략
을 사용한 것 같지만 최신 버전에서는 어떤 병합 전략을 사용할지 따로 지정되어 있지 않은 것 같다.
그렇기 떄문에 git pull
을 할 경우 fetch
후 merge
를 하는 것이 아닌 fetch
만 하는 것을 볼 수 있다.
아래 오류 내용을 보면 깃의 설정을 바꾸는 법이 나와 있다. 나는 git config pull.rebase false
을 사용하여 merge 병합
으로 지정해주었다. 만약 전역으로 지정해주고 싶다면 git config --global pull.rebase false
를 해주면 된다. 지정하고 나면 새로운 브랜치가 있을 경우 3-way-merge
를 해주고 없다면 fast-forward
로 브랜치를 병합해준다.
hint: You have divergent branches and need to specify how to reconcile them.
hint: You can do so by running one of the following commands sometime before
hint: your next pull:
hint:
hint: git config pull.rebase false # merge
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: Need to specify how to reconcile divergent branches.