04 Git如何撤銷commit(不想要or提交錯誤)

場景

  • 假設(shè)要刪除剛剛提交到feature_b分支的commit。

步驟

  1. 切換到feature_b分支
  2. 選中要刪除的commit節(jié)點的前一個節(jié)點,執(zhí)行「重置」操縱,如下圖:


    image.png
  3. 在彈出的框中,我們這樣選擇先


    image.png
  4. 我們可以看到,雖然commit被刪除了,但其實改動還在,我們只需要丟失本地改動就好了


    image.png
  5. 剛才其實還有其他選項,比如選擇「強(qiáng)行合并」,那么那個commit直接就被丟棄了,不會像剛才那樣,產(chǎn)生Uncommitted changes,還需要手動丟棄改動


    image.png
  6. 其實還有一種選項,叫「軟合并」,這種介于「混合合并」和「強(qiáng)行合并」中間,即:改動還在,但你改動被 git add .
    image.png

    「軟合并」效果如下:
    image.png
  7. 以上操作(各種reset),如果一開始已經(jīng)push到remote了,還需要 git push --force
  8. 其實還有一種操作,叫做「提交回滾」,通過revert來實現(xiàn)的


    image.png
  9. 操作結(jié)果如下,是通過一次新的commit來把錯誤的commit抹掉


    image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容