当前位置:   article > 正文

​如何撤销git commit​_git撤销commit到未提交状态

git撤销commit到未提交状态

git commit后,还没执行push时, 如何撤销commit。

git add xxFiles

git commit -m "add xxx commit"

一、解决方案

1. git reset --soft HEAD~1
执行此命令,本次的(这里HEAD~1)commit会被撤销,commit所对应的修改会撤回到暂存区当中,即只是撤销了commit操作,比较安全,修改不会丢失

2. git reset --mixed HEAD~1
执行此命令,本次的commit会被撤销,commit所对应的修改会撤回到修改区(工作区)当中,即同时撤销了commit和add操作,修改也不会消失。需要注意的是,当直接执行git reset HEAD~1时,参数默认就为mixed

3. git reset --hard HEAD~1
执行此命令,本次的commit会被撤销,commit所对应的修改会撤回到原始状态,即修改将会全部消失,文件恢复到了上一次commit的状态,比较危险

二、命令解释:

1. HEAD^

表示上一个版本,即上一次的commit,几个^代表几次提交,如果回滚两次就是HEAD^^。
也可以写成HEAD~1,如果进行两次的commit,想要都撤回,可以使用HEAD~2。

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

3. --hard
删除工作空间的改动代码,撤销commit,且撤销add

4. --amend 

如果commit后面的注释写错了,可以运行 git commit --amend,进入vim编辑模式,修改完保存即可。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/130488
推荐阅读
相关标签
  

闽ICP备14008679号