(工作记录) 一次Git版本回退的操作流程

背景:由于本人的失误,将代码提交到了一个错误的远程分支上,而且在这个分支之后又有人提交了代码
可以这样理解

在first 提交后,提交了一个错误版本,然后又有人提交俩个正常版本。
这里需要把错误版本去掉,留下正确的版本。
(工作记录) 一次Git版本回退的操作流程
请教了公司大佬,一顿命令操作解决了问题。
操作流程如下

切换到远程的最新版本D
git checkout origin/master
切换到first 提交的版本
git checkout 20018df0b8c41b402bb50bb231202f936e4959f2
创建一个本地temp分支
git checkout -b temp
将错误版本之后的代码依次(按照时间由远及近)加入到temp版本上
git cherry-pick 64d26e6814aa2b22750830ab000dc000240fc5ee
git cherry-pick be760c89746280b4ff45203c175523610c87d856
此时查看日志
git log
(工作记录) 一次Git版本回退的操作流程
错误的版本已经没了!
但是这只是在temp上是正确的
我们需要删掉本地的master分支
git branch -D master
然后将temp改名为master分支
git branch -m master
(工作记录) 一次Git版本回退的操作流程
最后与远程master绑定
git push -f --set-upstream origin master
搞定!
切换到远程的master查看日志如下
(工作记录) 一次Git版本回退的操作流程
发现错误的提交已经干掉了
问题得到解决~