问题描述
在执行 git pull
时,出现了如下提示:
➜ git:(test) git pull origin develop
* branch develop -> 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 (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: Need to specify how to reconcile divergent branches.
原因分析:
先翻译下提示的信息:
git:(develop) git pull origin develop
提示:您有不同的分支,需要指定如何协调它们。
提示:您可以通过在之前某个时间运行以下命令之一来做到这一点
提示:你的下一次获取:
提示:
提示:git config pull.rebase false # 合并(默认策略)
提示:git config pull.rebase true # Rebase
提示:git config pull.ff only # 仅快进
提示:
提示:可以将“git config”替换为“git config——global”来设置默认值
提示:首选所有存储库。你也可以传递——rebase,——no-rebase,
提示:或命令行上的——ff-only,以覆盖配置的默认per
提示:调用。
fatal:需要指定如何协调不同的分支。文章来源:https://www.toymoban.com/news/detail-851090.html
原因:因为你在pull
代码之前,进行了merge
并更新代码的操作,而其他人在你之前提交了一个版本,导致版本不一致。文章来源地址https://www.toymoban.com/news/detail-851090.html
解决方案:
- 方案一:
- 按照提示,直接执行
git config pull.rebase false
- 该操作是默认获取最新代码,并与本地合并,如果有冲突,需要解决冲突。
- 按照提示,直接执行
- 方案二:
- 该方法适用于两个分支的合并
- 先保存下修改内容,然后将当前分支回退到修改代码之前的版本,执行
pull
以获取最新代码 - 然后将要合并的分支合并到当前分支,再将自己的改动添加上,
- 最后再提交代码
到了这里,关于【Git】Git pull代码时,出现报错:hint: you have divergent branches and need to specify how to reconcile them.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!