1.git log獲取commit信息
2.git rebase -i (commit-id)
commit-id 為要?jiǎng)h除的commit的下一個(gè)commit號(hào)
3.編輯文件,將要?jiǎng)h除的commit之前的單詞改為drop
4.保存文件退出大功告成
5.git log查看
比如我的提交歷史如下,我現(xiàn)在想刪除commit_B,但是不影響commit_B之后的提交歷史
commit_C
commit_B
commit_A
操作方法如下:
假如要?jiǎng)h除備注為add c.txt commit為0fb295fe0e0276f0c81df61c4fd853b7a000bb5c的這次提交
首先找到commit_B提交之前的一次提交的commit_A
-
執(zhí)行如下命令
git rebase -i commit_A

git rebase .png
- 將
commit_B這一行前面的pick改為drop,然后按照提示保存退出 - 至此已經(jīng)刪除了指定的commit,可以使用
git log查看下
git push origin HEAD --force 然后推送到遠(yuǎn)程倉(cāng)庫(kù)
此時(shí) commit_B 就被干掉了,沒有影響后面的提交