commit代码之后,发现多commit了一点代码,想撤回commit的代码,突然发现自己不会这个命令,遂进行了谷歌百度。找到一篇阅读量11W+的博客,那就是他了
按照步骤:
1、找到之前提交的git commit的id ,git log
2、git reset --hard id
3、git reset id
操作完之后,我特,,,本地修改的代码全没了!!!巨坑啊
正确的操作:
1、如果想撤销commit,同时保留git add
git reset --soft HEAD^
2、删除工作空间改动代码,撤销commit,撤销git add .
注意:完成这个操作后,就恢复到了上一次的commit状态。
git reset --hard HEAD^
3、不删除工作空间改动代码,撤销commit,并且撤销git add .
此为默认方式,不带任何参数的git reset,即时这种方式
git reset --mixed HEAD^ 和 git reset HEAD^ 一样
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
我想撤回commit操作,同时保留add.,亲测这两种方式有效:
git reset --soft HEAD^
git reset --soft commit_id(这个id不是你刚刚commit的id,是之前成功push的那个commitid)