情景
测试分支 dev,发版分支 master,开发分支a
正常的分支发版流程,从master中打出开发分支a,开发人员编写代码commit提交到分支a,完成后将开发分支a合入dev发布到测试环境测试,测试无误,将开发分支合入到master,发版master。
可中途某个开发人员错误的将自己直接在dev上修改,然后为了将代码拿回来,直接将dev合入了他自己的开发分支,开发分支直接合入master,导致dev上的代码被合入了master。过了一阵子发现这个情况,需要将这一次合入master的撤销,revert 操作。撤销之后,新的开发任务完成放到dev测试,导致之前的合入master的a分支代码被撤销,需要解决再次将a分支代码合入dev。
方法
- 从master中拉取新的开发分支b
- 将分支切换到开发分支a
- 执行git reset --soft 回退并寄存中间提交的commit 代码
- 将这些代码寄存起来
- 切换分支到新打出的开发分支b
- 将刚刚寄存起来的代码重新拿出来
- 解决冲突,提交commit到开发分支b
- 将开发分支重新合入dev
问题解决。
如何查看第一次的提交
git 命令 git log --pretty=oneline
178cfcfc2010a5b6391283a77a69fc44c1a52d72 fix salt端口不加密
8744a005a33d5363e4b82819db96ad22de6e9b70 fix 增加判断
cbe08c949