git 分支分叉case分析及问题解决【xxx have diverged】

背景

新开发的代码,合入到远端master之后,没有生效。定位到spark服务,在切换分支的时候,遇到branch 分叉;导致依然使用旧代码。

切换分支到master时依然遇到xxx have diverged问题

服务器本地master分支

... → ee5e335 → e0bb521→ 6743abc

远端master分支

...→ ee5e335→ b393d39→ 7e627cc→ c525029→ e5e57c4→ 239a606→ 91f0a9a→ 7f2a75e→ a0f0494

这样的后果

服务器本地checkout 到master的代码,不能与远端master同步。依然是旧代码

怎么解决这个问题

  1. 直接在服务器上删除代码目录,重新获取代码git,这样将本地与远端代码保持了一致;
  2. 在本地强制获取远端代码; git pull origin master
    1. 这样操作会把本地代码与远端代码进行merge 
    2. 最终提交变为:.. → ee5e335 → e0bb521→ 6743abc→ b393d39→ 7e627cc→ c525029→ e5e57c4→ 239a606→ 91f0a9a→ 7f2a75e→ a0f0494
posted @ 2021-07-14 20:02  威威后花园  阅读(835)  评论(0编辑  收藏  举报