場景
- 假設(shè)要刪除剛剛提交到feature_b分支的commit此衅。
步驟
- 切換到feature_b分支
-
選中要刪除的commit節(jié)點的前一個節(jié)點,執(zhí)行「重置」操縱悉患,如下圖:
-
在彈出的框中残家,我們這樣選擇先
-
我們可以看到,雖然commit被刪除了售躁,但其實改動還在坞淮,我們只需要丟失本地改動就好了
-
剛才其實還有其他選項,比如選擇「強行合并」陪捷,那么那個commit直接就被丟棄了回窘,不會像剛才那樣,產(chǎn)生Uncommitted changes市袖,還需要手動丟棄改動
- 其實還有一種選項啡直,叫「軟合并」,這種介于「混合合并」和「強行合并」中間,即:改動還在付枫,但你改動被
git add .
了
「軟合并」效果如下:
- 以上操作(各種reset)烹玉,如果一開始已經(jīng)push到remote了,還需要
git push --force
-
其實還有一種操作阐滩,叫做「提交回滾」二打,通過revert來實現(xiàn)的
-
操作結(jié)果如下,是通過一次新的commit來把錯誤的commit抹掉