天天看點

Git奇技|随意删除某個commit

背景

由于将重構任務和業務任務代碼修改送出在了一個分支,為了不影響業務正常,必須删除重構送出。

問題

比如我的送出曆史如下,我現在想删除重構commitB、C,但不影響B、C後的業務送出D

D(業務送出)
C(重構送出)
B(重構送出)
A(本地初始拉的遠端分支)      

解決方案

首先找到BC送出之前的一次送出的A

執行如下指令

git rebase -i A      
Git奇技|随意删除某個commit

将BC兩行前面的pick改為drop,然後儲存退出

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

git push  –force 然後推送到遠端倉庫      

此時BC 就被幹掉了,沒有影響後面的送出