总结了下git撤回已合并到远程分支的错误提交的流程
假设
本地分支 feature_local
远程分支 feature_remote
1.拉取feature_remote的最新代码,基于此创建临时修复分支feature_fix
2. 在feature_fix分支撤销错误的提交,
对于简单的提交,直接 git revert commitId
撤销merge提交,使用 git revert -m 主分支代号 提交号
具体使用可以参考这篇文章 戳这里
3.revert操作可能会有冲突,有点话需要手动解决冲突,然后提交
4.创建合并请求,将feature_fix合并到feature_remote
5.在feature_fix分支,对撤销操作进行revert(这样在fix分支上,代码回到有问题的版本)
6.在第5步的基础上,进行bug fix,然后提交并push
7.新建合并请求,合并feature_fix到feature_remote
1-4 是对于错误提交的撤回
5-7 是对错误代码进行fix
注意:第5步非常重要,也是最容易出问题的地方。这一步,如果没有对撤销操作进行撤销,
直接进行bug fix, 会丢失掉在feature_local分支上的commit
相关参考
Git 之 revert