Git commit 之後,想撤銷 commit

lizhiqiang666發表於2019-12-20

寫完程式碼後,我們一般這樣

git add . //新增所有檔案

git commit -m "本功能全部完成"

執行完commit後,想撤回commit,怎麼辦?

這樣涼拌:

git reset --soft HEAD^

這樣就成功的撤銷了你的commit

注意,僅僅是撤回commit操作,您寫的程式碼仍然保留。

說一下個人理解:

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

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

至於這幾個引數:

--mixed 

意思是:不刪除工作空間改動程式碼,撤銷commit,並且撤銷git add . 操作

這個為預設引數,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一樣的。

--soft  

不刪除工作空間改動程式碼,撤銷commit,不撤銷git add . 

--hard

刪除工作空間改動程式碼,撤銷commit,撤銷git add . 

注意完成這個操作後,就恢復到了上一次的commit狀態。

順便說一下,如果commit註釋寫錯了,只是想改一下注釋,只需要:

git commit --amend

此時會進入預設vim編輯器,修改註釋完畢後儲存就好了。

相關文章