本文转自: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