首页 > 其他 > 详细

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

时间:2020-11-17 23:23:36      阅读:74      评论:0      收藏:0      [点我收藏+]

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查看一下,历史提交记录只剩下第一次了(因为虽然我提交了很多次,但是我恢复到了第一次提交时的状态)

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

 

 

 

 

 

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

原文:https://www.cnblogs.com/QiKa/p/13997213.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!