赞
踩
- ➜ git:(test) git pull origin test
- * branch test -> 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:(test) git pull origin test
- 提示:您有不同的分支,需要指定如何协调它们。
- 提示:您可以通过在之前某个时间运行以下命令之一来做到这一点
- 提示:你的下一招:
- 提示:
- 提示: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:需要指定如何协调不同的分支。
分析:这是由于你拉取pull分支前,进行过merge合并更新分支操作,而其他人在你之前已经push过一个版本,导致版本不一致
第一种解决方法:比较简单
git config pull.rebase false
根据历史版本记录,选择commit地址,回退到自己合并之前的版本
➜ git:(test) git reset --hard 33df706e780d10af6435bda1fee85430604eebfd
再进行pull更新分支
➜ git:(test) git pull origin test
最后再重新合并代码
➜ git:(test) git merge dev
记得养成一个良好git发布流程的习惯
- # 分支合并发布流程:
- git add . # 将所有新增、修改或删除的文件添加到暂存区
- git commit -m "版本发布" # 将暂存区的文件发版
- git status # 查看是否还有文件没有发布上去
- git checkout test # 切换到要合并的分支
- git pull # 在test 分支上拉取最新代码,避免冲突
- git merge dev # 在test 分支上合并 dev 分支上的代码
- git push # 上传test分支代码
-
更多git操作请查看博主的另一篇文章,关注我不迷路,我替你们把坑都踩平了:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。