- 两个分支都提前拉一下,保证代码是最新的
- 开始变基
-
先切换到dev分支,再点击master分支中最近的一次提交
-
右键 ‘‘交互式变基’’,这个时候会弹一个弹框
-
-
如果什么都不点,直接点确定就是进行变基,会把所有的提交记录一条一条变基
-
如果想把提交记录整合,可以先点第一条记录,然后点最下面的 "用此前的squash"
- 处理冲突
-
接着点击确定,有可能会有冲突报错,这个时候解决冲突。
-
推荐在VsCode中直接使用(Accept Current Change) “我的版本” ,来解决冲突
-
在最上方 "操作" 项,点击 "继续变基"
-
-
这个时候过一会就会好,如果卡了很长时间,可以点击取消,再次点击"继续变基"。
-
依次解决冲突,如果有报错,点击关闭 再点击 "继续变基"。
-
如果出现以下情况 点击 " - "移除 ,这个时候一般就好了。
-
- 开始rebase Master分支
-
成功情况如图,可以看到记录都合并在一个提交中了
-
-
接下来切换到Master分支中,右键点击dev分支 选择"将当前变基到xxxx"
-
-
点击确定,因为 之前dev已经变基过了 这会一般不会有什么冲突。
-
处理完后 master和dev在同一条提交记录上就算是成功了。接着可以再点击推送(push)。
-
如果推送失败,需要勾选 "强制推送",再点击推送。
-
直接操作master有风险,可以dev,master分支都拉一个temp临时分支,在临时分支上先处理 没问题在再master分钟上操作。