报错如下
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --no-tags origin
From https://gitee.com/erzhan/qgisdemo
d7c043e...c9e341f master -> origin/master
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks pull origin master
From https://gitee.com/erzhan/qgisdemo
- branch master -> FETCH_HEAD
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.
原因:
这个错误是 Git 2.27+ 版本的新特性,它不再默认选择合并策略,而是要求你明确指定如何处理分歧的分支。下面提供两种最常用的解决方案:
解决:
在命令终端执行
git config --global pull.rebase false,意思是设置全局默认使用 merge 方式(最常用、最安全)
之后再正常拉取即可