[git] 如何撤銷未push的commit

為建立中文知識庫加塊磚        ——中科大胡不歸

問題描述

偶爾會遇到已經(jīng)完成了commit還沒有push,突然需要再改一下的情況。

解決辦法

方法一

1.找到本次commit之前的節(jié)點(diǎn)

git log
歷史提交記錄

2.撤銷

git reset 節(jié)點(diǎn)值(如8825959)

方法二

git reset --soft HEAD^

參數(shù)說明

HEAD^ 的意思是上一個版本,也可以寫成HEAD~1

如果你進(jìn)行了2次commit,想都撤回,可以使用HEAD~2

  • --mixed
    意思是:不刪除工作空間改動代碼,撤銷commit,并且撤銷git add . 操作
    這個為默認(rèn)參數(shù),git reset --mixed HEAD^git reset HEAD^ 效果是一樣的。

  • --soft
    不刪除工作空間改動代碼,撤銷commit,不撤銷git add。

  • --hard
    刪除工作空間改動代碼,撤銷commit,撤銷git add。

注意完成這個操作后,就恢復(fù)到了上一次的commit狀態(tài)。

參考文章

撤銷commit且未push操作的git命令

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

相關(guān)閱讀更多精彩內(nèi)容

  • 1、撤銷 commit 的文件2、撤銷 push 的文件1、git reset2、視圖操作 reset3、git ...
    鵝鵝鵝曲項向天歌呀閱讀 50,807評論 0 19
  • 1. GIT命令 git init在本地新建一個repo,進(jìn)入一個項目目錄,執(zhí)行g(shù)it init,會初始化一個re...
    江邊一蓑煙閱讀 891評論 0 0
  • 查看、添加、提交、刪除、找回,重置修改文件 git help # 顯示command的help git sho...
    Swiftor閱讀 2,211評論 0 2
  • 以下筆記主要參考gitgot,大致了解git使用和原理。 第一部分我們從個人的視角去研究如何用好Git,并且揭示G...
    carolwhite閱讀 2,526評論 0 1
  • Git init 在當(dāng)前目錄下初始化創(chuàng)建Git倉庫 先要cd Git add . 將所有修改添加到暫存區(qū) git ...
    lhg_serven閱讀 903評論 0 0

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