情景

测试分支 dev,发版分支 master,开发分支a
正常的分支发版流程,从master中打出开发分支a,开发人员编写代码commit提交到分支a,完成后将开发分支a合入dev发布到测试环境测试,测试无误,将开发分支合入到master,发版master。
可中途某个开发人员错误的将自己直接在dev上修改,然后为了将代码拿回来,直接将dev合入了他自己的开发分支,开发分支直接合入master,导致dev上的代码被合入了master。过了一阵子发现这个情况,需要将这一次合入master的撤销,revert 操作。撤销之后,新的开发任务完成放到dev测试,导致之前的合入master的a分支代码被撤销,需要解决再次将a分支代码合入dev。

方法

  1. 从master中拉取新的开发分支b
  2. 将分支切换到开发分支a
  3. 执行git reset --soft 回退并寄存中间提交的commit 代码
  4. 将这些代码寄存起来
  5. 切换分支到新打出的开发分支b
  6. 将刚刚寄存起来的代码重新拿出来
  7. 解决冲突,提交commit到开发分支b
  8. 将开发分支重新合入dev
    问题解决。

如何查看第一次的提交

git 命令 git log --pretty=oneline

178cfcfc2010a5b6391283a77a69fc44c1a52d72 fix salt端口不加密
8744a005a33d5363e4b82819db96ad22de6e9b70 fix 增加判断
cbe08c949126bef7b94df05255a0cb26f47bd900 add 刷新token
7cce66a613111ec5e454e4e82fc3d359e7b83b05 add 全局加密
1136761c958a0225e31f350f21340fabf177b6d4 fix encrypted
e142e6d1cf5ab65571afd20a94ef4d71xe9b5542 fix aes name
5f61fc8ad88a2c66b311523d72f6f83fvc605954 add aes-256-cbc iv
3998e70ed316dba9d852899ebea968c0e32798f5 add success
3c4f09954a7713eddf3cdef495705a85x3e4c0a1 add raw
b58b014b9203f18171e7807927d44924a413e646 add 获取用户salt接口
dd86100379c2c776bf347e29387253bbr8346eb4 add sql salt field

回退并保存中途的修改方法 git reset --soft XXX,注意一定要这个--soft参数

git reset --soft dd86100379c2c776bf347e29387253bbr8346eb4
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐