git 撤销\删除\恢复某次提交记录

撤销命令: git  checkout  文件名。

作用:将暂存区的文件拉下来覆盖本地工作目录内的文件内容

删除命令:git  rm --cached  文件名。将文件从暂存区内删除

作用:在不知情的情况下提交了垃圾文件到暂存区中,因此尽量不要随意添加文件到暂存区中,请及时删除掉垃圾文件

恢复命令:git  reset  --hard  commitID

作用:在git仓库内进行将 某一个更新记录恢复,并覆盖暂存区和工作目录

-----------------------------------------------------------------------------------------------------------------

以下为具体操作:

1、撤销:

撤销命令: git  checkout  文件名

作用:将暂存区的文件拉下来覆盖本地工作目录内的文件内容

操作:

在本地工作目录中:新建文件list1.html,内容为123456,此时打开进入git 命令行内

查看状态:git status,可见当前list1.HTML未被git跟踪,

此时将其添加到暂存区,让git进行跟踪管理这个文件:git  add  list1.html,再查看状态可见,list1.html文件已经是被添加到暂存区内,且被git跟踪管理了

 

如果这时发现本地电脑工作目录内的list1.html文件内写了很多无用的东西,但是不知道该删哪些内容,有没有什么直接的方式呢?

这时候就可使用  撤销命令:git checkout list1.html       

 

2、将文件从暂存区内删除git  rm --cached  文件名

(原因:在不知情的情况下提交了垃圾文件到暂存区中,因此尽量不要随意添加文件到暂存区中,请及时删除掉垃圾文件)

 

具体操作:

先查看状态:git  status 

然后删除暂存区内某个文件:git  rm  --cached  test.html

然后再查看状态:git  status(可见暂存区内的test.html文件已经不存在了,被删除掉了)

 

注意:这个地方的“删除”不要理解错误了,这个删除只针对“暂存区”内删除,

而删除成功后,文件就不被git跟踪管理了,但文件还是处于本地的工作目录内

3、git仓库内指定的更新记录恢复,并覆盖暂存区和工作目录:git  reset  --hard  commitID

比如这时候提交了ABCD几次文件,但是后面发现就只有A次提交的是正常的,BCD次都有错误,

我想要恢复到前面A次提交记录的状态,那么该怎么办?

步骤:

1、先添加文件到暂存区内 git  add  test.html

然后提交到git仓库:git  commit  -m  第一次提交(提交备注信息,必须写)

再添加文件到暂存区内: git  add  index.html

然后提交到git仓库:git  commit  -m  第二次提交(提交备注信息,必须写)

使用Git status查看一下状态,可见缓存区内没有文件了

2、然后此时发现有问题了,但是这都提交了好几次文件内容了,想要恢复到第一次提交的状态怎么办?

那么就可以输入命令恢复到指定的某一次提交时状态:git  reset  --hard  某一次提交的commitID  注意:这里的commitID可以通过 命令:git log 查看)

接着输入命令:git  reset  --hard  第一次提交的commitID(直接鼠标粘贴复制即可)

3、恢复完成后, 再输入:git log查看一下,历史提交记录只剩下第一次了(因为虽然我提交了很多次,但是我恢复到了第一次提交时的状态)

此时再去本地的工作目录内查看,也只能看见第一次提交时的文件及内容了

 

 

 

 

 

posted on 2020-11-17 22:47  QiKa  阅读(1766)  评论(0编辑  收藏  举报