在git使用中要如何取消commit但是还未push的操作?
通常,我们对修改的文件会先git add .
,然后git commmit -m "注释"
,但是如果commit错了,想要取消commit而且还要保留已经add
的文件,那么应该怎么做呢?
可以使用这个命令来取消commit:
git reset --soft HEAD^
这样就会回到刚刚add之后的状态了(HEAD^是上一个版本的意思,如果要回退到前n个,那么就是HEAD~n)
关于git reset
的一些参数如下:
-
--soft
- 不删除工作空间改动代码,撤销commit,不撤销git add .
-
--hard
- 将
add
和commit
撤销,然后删除工作空间代码,恢复到上一个commit结束时候的样子
- 将
-
--mixed
- 将
add
和commit
撤销,但是不删除工作空间代码,恢复到仅仅修改完后的样子
- 将
如果要修改最近commit的注释,那么只需要使用如下命令即可:git commit --amend