git 撤销修改
代码提交
一般我们写完代码后会进行提交,这时候如果提交信息有误,提交了不应该提交的东西,又不想进行revert,因为毕竟没有推送的远程仓库,现在还只是再本地仓库,为了让提交的代码更加的好看,我们可以进行如下操作:
但执行完commit 以后想要撤回是我们有三种方案:
–mixed
git reset --mixed HEAD^
或者
git reset HEAD^
此操作不删除工作空间改动代码,只是撤销commit,并且撤销git add . 操作
git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
–soft
git reset --soft HEAD^
不删除工作空间改动代码,撤销commit,不撤销git add .
此时你本次提交的代码都会回到本地暂存区
–hard(慎用,除非你想完全放弃所有代码修改)
git reset --hard HEAD^
删除工作空间改动代码,撤销commit,撤销git add .
一旦操作完成,你的本地代码将恢复到了上一次的commit状态,同时你本地的未暂存的代码也会被删除。
HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
也可以使用你想撤回的提交的commit id 如 git reset --soft commit id