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

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

     

     

     

  • 相关阅读:
    Memcache 内存分配策略和性能(使用)状态检查
    C# 中字符串转换成日期
    Task及Mvc的异步控制器 使用探索
    MVC项目实践,在三层架构下实现SportsStore-01,EF Code First建模、DAL层等
    从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十三║Vue实战:Vuex 其实很简单
    从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】
    vue-router 快速入门
    Vue.js——60分钟快速入门
    五小步让VS Code支持AngularJS智能提示
    AngularJS----服务,表单,模块
  • 原文地址:https://www.cnblogs.com/QiKa/p/13997213.html
Copyright © 2020-2023  润新知