如何恢复被回滚的代码

430 阅读1分钟

不告诉你~

。。。



【上线失败了】

当前线上版本:r-190906-21232-chouchou(a)

本地开发分支:20190826-work 发布上线后产生新rtag: r-20190907-18213-chouchou(b)
发现: emmmm,有bug!!并进行了应用及源码回滚

回滚后:

  •  rtag: r-20190907-18213-chouchou(b),并产生了一个新的rtag:r-20190907-18213-chouchou-invalid(c)
  • master代码被revert到上一个rtag版本,即:r-190906-21232-chouchou(a)


【修复bug准备重新发布】

在20190826-work修复好了bug,准备merge master重新上线了~~

很恐怖:开发分支上的所有变更都丢失了


以上的方法是错误的,来看下正确的方法

1 基于现在的master分支拉出一个新分支 命名:20190826-work-new
2 执行 git log,找到 chouchou revert master to  r-190906-21232-chouchou(a) because of you bug,把这条记录的commit复制一下:123456

3 在20190826-work-new分支上执行 git revert 123456
4 代码就回来了~~ 之后的操作就在20190826-work-new上进行吧


【老的20190826-work上还有代码提交?】

merge到20190826-work-new分支上就好了