1.git log获取commit信息
2.git rebase -i (commit-id)
commit-id 为要删除的commit的下一个commit号
3.编辑文件,将要删除的commit之前的单词改为drop
4.保存文件退出大功告成
5.git log查看
比如我的提交历史如下,我现在想删除commit_b,但是不影响commit_b之后的提交历史
commit_c
commit_b
commit_a
操作方法如下:
假如要删除备注为add c.txt
commit为0fb295fe0e0276f0c81df61c4fd853b7a000bb5c
的这次提交
- 首先找到commit_b提交之前的一次提交的commit_a
-
执行如下命令
git rebase -i commit_a
-
将
commit_b
这一行前面的pick改为drop,然后按照提示保存退出 -
至此已经删除了指定的commit,可以使用
git log
查看下git push origin head --force 然后推送到远程仓库此时 commit_b 就被干掉了,没有影响后面的提交