使用git撤销上次已经合并的分支
描述:开发的项目有两个分支,一个是master,一个是dev,上次一不小心,把dev分支上有问题的代码,合并到了master分支上,今天检查才发现了问题,GG
以下的解决办法来源于博客:https://blog.csdn.net/zhidao_wenge/article/details/72757844
解决方法:
1.找到最后一次提交到master分支的版本号,即【merge前的版本号】
2.会退到某个版本号
git reset --hard 【merge前的版本号】
这个时候已经会退到了上一次提交的版本,但是之后的修改还是存在master分支上,以下步骤很关键
3.重新创建一个分支,这时候的分支就是上一次提交的代码
git checkout -b newmaster
4.推到对应的远程newmaster
git push
5.这个时候相当于备份做好了,接下来就可以删除本地及远端的master分支
git branch -d master
git push --delete origin master
6.从newmaster分支,重新在创建master分支,并推向远端
git checkout -b master
git push
我在处理的时候,发现本地的分支确实改回来了,但是却没有更新到远程库上,试着更新了一下,报错了,提示使用如下git命令
git branch --set-upstream-to=origin/master master
然后再更新了一下,发现可以用了,然后随便改了几个代码提交了一下,也能提交成功。之后再和dev分支进行了比对,发现代码确实已经回滚到了合并分支前的情况,这说明撤销分支合并确实有效,所以记录一下。
最后感谢https://blog.csdn.net/zhidao_wenge/article/details/72757844 博主的分享