前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Git多分支版本合并错误,使用revert回滚的问题

Git多分支版本合并错误,使用revert回滚的问题

作者头像
chenchenchen
发布2021-09-06 10:15:38
1.7K1
发布2021-09-06 10:15:38
举报
文章被收录于专栏:chenchenchen

假设我们有三个分支,dev1.1是当前代码开发的版本分支,dev是开发环境上部署的版本分支,test是测试环境上部署的版本分支,正常的合并操作应该是dev1.1->dev->test。

某次误操作导致直接从dev1.1合并到了test,此时执行了revert回滚操作,本以为回滚后即撤销了原先的合并,然后继续执行正常的dev1.1->dev->test合并即可。(下图为错误理解示意图)

而实际上revert回滚操作相当于一次commit,即将上一次提交的操作删除后再次提交。此时合并其他BCD没有问题,但当对A修改后再次合并时,dev合并test的时候会有问题。

正确操作应该是在回滚之后,将三个分支反向合并一次,这时候就不会有冲突了

当前补救措施是先将dev(没有A)合并到dev1.1(有A),此时合并会将dev1.1上的A删除,然后手动将本次合并删除的代码加上,提交,接下来按原有流程合并即可dev1.1->dev->test

手动将合并到dev之后删除的A代码加上的时候,可以在gitLog上选择合并前上一次记录的文件,在本地使用Reset Current Branch to Here操作,但是这个只能一个文件一个文件的执行

或者使用git cherry-pick(可以理解为”挑拣”提交),它会获取某一个分支的单笔提交,并作为一个新的提交引入到你当前分支上。 参考:https://chenchenchen.blog.csdn.net/article/details/112681902

修复前后整个gitLog显示如下(新->旧)

恢复之前版本,reset/revert的回滚操作步骤,参考https://cloud.tencent.com/developer/article/1873147

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/08/31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档