git 撤销提交 撤销暂存区 取消操作

撤销提交:

     开发过程中我们对代码进行了修改,修改之后进行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 <files>命令之后,想要将该文件的变化从暂存区撤回,怎么办呢?

     执行命令:git restore --staged <fileName> 执行之后,状态就变为了Changes not staged for commit:

 

 取消修改:

    我们对文件进行了一大堆修改,修改之后发现是错误的,想取消修改怎么办?只要执行git restore <fileName>,该命令就是将工作区的文件修改取消了,相当于放弃当前的文件修改。

如下: