1. 程式人生 > >Git 刪除具體某個提交commit的方法

Git 刪除具體某個提交commit的方法

1.git log獲取commit資訊 
2.git rebase -i (commit-id) 
commit-id 為要刪除的commit的下一個commit3.編輯檔案,將要刪除的commit之前的單詞改為drop 
4.儲存檔案退出大功告成 
5.git log檢視

比如我的提交歷史如下,我現在想刪除commit_B,但是不影響commit_B之後的提交歷史

commit_C 

commit_B

commit_A

操作方法如下:

假如要刪除備註為add c.txt commit為0fb295fe0e0276f0c81df61c4fd853b7a000bb5c的這次提交

  1. 首先找到commit_B提交之前的一次提交的commit_A
  2. 執行如下命令

    git rebase -i  commit_A
    

    git rebase .png

  3. commit_B這一行前面的pick改為drop,然後按照提示儲存退出

  4. 至此已經刪除了指定的commit,可以使用git log檢視下
    git push origin HEAD –force 然後推送到遠端倉庫
    此時 commit_B 就被幹掉了,沒有影響後面的提交