当前位置:   article > 正文

You have divergent branches and need to specify how to reconcile them._hint: you have divergent branches and need to spec

hint: you have divergent branches and need to specify how to reconcile them.

  1. ➜ git:(test) git pull origin test
  2. * branch test -> FETCH_HEAD
  3. hint: You have divergent branches and need to specify how to reconcile them.
  4. hint: You can do so by running one of the following commands sometime before
  5. hint: your next pull:
  6. hint:
  7. hint: git config pull.rebase false # merge (the default strategy)
  8. hint: git config pull.rebase true # rebase
  9. hint: git config pull.ff only # fast-forward only
  10. hint:
  11. hint: You can replace "git config" with "git config --global" to set a default
  12. hint: preference for all repositories. You can also pass --rebase, --no-rebase,
  13. hint: or --ff-only on the command line to override the configured default per
  14. hint: invocation.
  15. fatal: Need to specify how to reconcile divergent branches.

  • 翻译:
    1. git:(test) git pull origin test
    2. 提示:您有不同的分支,需要指定如何协调它们。
    3. 提示:您可以通过在之前某个时间运行以下命令之一来做到这一点
    4. 提示:你的下一招:
    5. 提示:
    6. 提示:git config pull.rebase false # 合并(默认策略)
    7. 提示:git config pull.rebase true # Rebase
    8. 提示:git config pull.ff only # 仅快进
    9. 提示:
    10. 提示:可以将“git config”替换为“git config——global”来设置默认值
    11. 提示:首选所有存储库。你也可以传递——rebase,——no-rebase,
    12. 提示:或命令行上的——ff-only,以覆盖配置的默认per
    13. 提示:调用。
    14. fatal:需要指定如何协调不同的分支。

2. 解决方法

分析:这是由于你拉取pull分支前,进行过merge合并更新分支操作,而其他人在你之前已经push过一个版本,导致版本不一致

第一种解决方法:比较简单

  • 执行git config pull.rebase false
  • 默认将pull下来的代码与现有改动的代码进行合并
  • 但是可能会造成代码冲突,需要处理下这个问题,代码冲突如果2个人都改了同一个文件,需要联系之前push的同学,看看这块代码怎么保存
  • 根据历史版本记录,选择commit地址,回退到自己合并之前的版本
    ➜  git:(test) git reset --hard 33df706e780d10af6435bda1fee85430604eebfd
    再进行pull更新分支
    ➜  git:(test) git pull origin test
    最后再重新合并代码
    ➜  git:(test) git merge dev
    记得养成一个良好git发布流程的习惯

    1. # 分支合并发布流程:
    2. git add .            # 将所有新增、修改或删除的文件添加到暂存区
    3. git commit -m "版本发布" # 将暂存区的文件发版
    4. git status             # 查看是否还有文件没有发布上去
    5. git checkout test    # 切换到要合并的分支
    6. git pull            # 在test 分支上拉取最新代码,避免冲突
    7. git merge dev       # 在test 分支上合并 dev 分支上的代码
    8. git push            # 上传test分支代码
    9.  


    更多git操作请查看博主的另一篇文章,关注我不迷路,我替你们把坑都踩平了:
     

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/500575
推荐阅读
  

闽ICP备14008679号