背景

由于将重构任务和业务任务代码修改提交在了一个分支,为了不影响业务正常,必须删除重构提交。

问题

比如我的提交历史如下,我现在想删除重构commitB、C,但不影响B、C后的业务提交D

D(业务提交)
C(重构提交)
B(重构提交)
A(本地初始拉的远程分支)

解决方案

首先找到BC提交之前的一次提交的A

执行如下命令

git rebase -i A

Git奇技|随意删除某个commit_payment

将BC两行前面的pick改为drop,然后保存退出

至此已经删除了指定的commit。

git push  –force 然后推送到远程仓库

此时BC 就被干掉了,没有影响后面的提交

Git奇技|随意删除某个commit_c++11_02

目前交流群已有​ 800+​人,旨在促进技术交流,可关注公众号

Git奇技|随意删除某个commit_微软_03