假设我们还没有把提交推向远端,可以使用reset进行回退。
如果已经推向远端,那么只能使用git revert + push了,可以参见本专栏另外一篇。
commit的撤销方法
写完代码后,我们一般这样操作:
git add . //添加所有文件
git commit -m "本功能全部完成"
执行完commit后,想撤回commit,怎么办(例如还有代码忘记提交,代码不要了想重写)?
这样凉拌:
git reset --soft HEAD^
这样就成功的撤销了你的commit。
注意,仅仅是撤回commit操作,您写的代码仍然保留在工作区。
解释下上面的指令。
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2,
更加直接点,找到你想回到的那个commit,填写它的commit id即可。
至于这几个参数:
–mixed
撤销commit,并且撤销git add .,不删除工作区改修改。
这个为默认参数,git reset --mixed HEAD^ 和 git res