开发过程中我们对代码进行了修改,修改之后进行git add files,然后执行git commit -m "cmt info",在提交之后我们就可以push到远程仓库,正常是这么操作的,但是如果在push之前发现我们改错了,不能push,这时候我们就要撤销提交,怎么办呢?
执行git reset --sfot HEAD^
该命令的意思是撤销最后一次提交并且让我们修改的文件在暂存区中,官网的解释是:
也就是说我们的状态会变为Changes to be committed
举例如下:
先查看当前的提交:
当前的commit:b16829ed6388a28ab1022875edde5d03bf0f1af2,提交信息是:to 仓库
现在我们再看看当前commit的修改内容是什么:
修改内容是在src/main/resources/application.properties文件中加了一个属性键值对:mycat=tom
现在我们撤销:git reset --soft HEAD^ ,执行该命令后查看状态如下:
我们再查看下提交记录,执行git log:
刚才的提交没有了。
假如我们在执行完git add
执行命令:git restore --staged
我们对文件进行了一大堆修改,修改之后发现是错误的,想取消修改怎么办?只要执行git restore
如下: