10

当我们写完代码后,我们一般都是

git add . // 添加所有文件
git commit - m "xxxxxx"

当我们git commit完之后,还没有执行git push,想修改/撤销这个commit,怎么办?

1、如果只是想修改注释,可以这样操作

git commit --amend
这个时候进入vim编辑,直接修改即可,修改完注释,退出vim编辑
:wq保存已编辑的注释,重新git push即可

2、要撤回commit

git reset --soft HEAD^
这样就能成功的撤回你刚刚的commit操作。

HEAD^的意思是上一个版本,也可以写成HEAD~1
如果你进行了2次commit,想都撤回,可以使用HEAD~2
注意,这个命令仅仅是撤回commit操作,写的代码仍然保留


拓展:

--mixed 
意思是:不删除工作空间改动代码,撤销commit,并且撤销git add . 操作
这个为默认参数,git reset --mixed HEAD^git reset HEAD^ 效果是一样的。

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

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


AaronYuan
1.5k 声望57 粉丝

代码逻辑很重要