[git] 如何撤销未push的commit
2019-07-10 本文已影响0人
zhongwcool
常怀感恩之心。
——鲁迅
问题描述
偶尔会遇到已经完成了commit还没有push,突然需要再改一下的情况。
解决办法
方法一
1.找到本次commit之前的节点
git log
![](https://img.haomeiwen.com/i9258027/e50216b48199a625.png)
2.撤销
git reset 节点值(如8825959)
方法二
git reset --soft HEAD^
参数说明
HEAD^ 的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
--mixed
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^ 和 git reset HEAD^ 效果是一样的。
--soft
不删除工作空间改动代码,撤销commit,不撤销git add。
--hard
删除工作空间改动代码,撤销commit,撤销git add。
注意完成这个操作后,就恢复到了上一次的commit状态。