本文轉自:http://www.cnblogs.com/lfxiao/p/9378763.htmlhtml
寫完代碼後,咱們通常這樣git
git add . //添加全部文件vim
git commit -m "本功能所有完成"編輯器
執行完commit後,想撤回commit,怎麼辦?.net
這樣涼拌:htm
git reset --soft HEAD^blog
這樣就成功的撤銷了你的commitget
注意,僅僅是撤回commit操做,您寫的代碼仍然保留。it
說一下我的理解:
HEAD^的意思是上一個版本,也能夠寫成HEAD~1im
若是你進行了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