【7】撤销修改以及删除文件

【7】撤销修改以及删除文件
一、撤销修改
场景一:当你改乱了工作区中的文件内容时,想直接丢弃工作区的修改,我们可以使用git checkout -- file命令完成,下面进行举例说明:
当然,我相信大家平时是不会报错的,但是现在情况比较特殊,时间很赶,你要给boss提交一份报告,现在是凌晨两点钟,你心里有些不满意,因为困的很懵*,你把你的不满不经意间写在了报告上,当你正要提交报告的时候,你之前喝的咖啡起了作用,眼前一亮,发现内容中存在这句话: stupid boss ,这句话要是提交就废了,这个时候我们就可以使用撤销修改的命令,原理就是把暂存区中的文件覆盖掉本地的文件,我们一起来看一下如何实现
首先输入git status查看当前版本库状态
【7】撤销修改以及删除文件
显示有一个文件 readme.txt发生修改,你可以根据 git checkout -- <file>撤销修改,我们来执行一下
【7】撤销修改以及删除文件
我们可以看到,没有输出任何信息,实际上这个时候文件内容已经被重置了,重置到你最后一次提交的状态,以上是为提交到暂存区的文件状态
场景二:假如说我们咖啡作用起晚了,我们已经提交到暂存区了,这个时候怎么办呢,我也不是说见死不救的人,我来说说吧,首先执行git status查看仓库状态
【7】撤销修改以及删除文件
可以看到,上面给出了提示git reset HEAD <file>...意思就是我们撤销最新一次的提交,我们来执行一下
【7】撤销修改以及删除文件
之后就和场景一、得操作是一样的了

二、删除文件
在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交
【7】撤销修改以及删除文件
现在,我们删除文件,使用文件系统删除就可以,此时,文件已删除,我们再来查看一下git的状态
【7】撤销修改以及删除文件
显示test.txt文件已被删除,现在你有两个选择,一是确实要从版本库中删除该文件,那就用命令git rm删掉,并且git commit
【7】撤销修改以及删除文件
现在,文件就从版本库中删除了
另一种情况,误删除,那我们就使用git checkout -- test.txt 命令恢复,因为文件在版本库中,所以我们可以很轻松的恢复回来

【7】撤销修改以及删除文件