git --- git撤销commit(未push)

Posted Overboom

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git --- git撤销commit(未push)相关的知识,希望对你有一定的参考价值。

场景重现

我们在git仓库写完代码后,一般有如下操作:
git add .
git commit -m “add something”
正常的下一部操作是git push,但是实际项目中会出现两种情况导致无法push
1> 在执行git push之前我们发现刚才添加的内容是错误的
2> push之后,需要别人review,别人review的时候发现你是错误的代码,拒绝merge
这两种情况都要求撤销commit

git commit 撤销操作

撤销commit的操作, git reset --[soft | mixed | hard] HEAD^

下面重点讲一讲,soft mixed hard几个参数的区别
1> --mixed
不删除工作空间改动代码,撤销commit,并且撤销git add .
mixed为默认参数,也即git reset --mixed HEAD^与git reset HEAD^效果一样

2> --soft
不删除工作空间改动代码,撤销commit,不撤销git add .

3> --hard
删除工作空间改动代码,撤销commit,撤销git add .
注意完成这个操作后,就恢复到了上一次的commit状态。

git commit --amend

如果只是commit注释内容写错,就执行git commit --amend去修改commit的内容即可

以上是关于git --- git撤销commit(未push)的主要内容,如果未能解决你的问题,请参考以下文章

git --- git撤销commit(未push)

git --- git撤销commit(未push)

git撤销commit

idea撤销commit

git放弃本地commit,未push

git撤销commit,但未git push的命令