美文网首页
git恢复blob文件

git恢复blob文件

作者: 错对对 | 来源:发表于2021-03-03 14:40 被阅读0次

    由于本人的一次不小心的操作,在本地仓库中执行add操作后,又执行了reset操作,导致本地的代码全部删除。痛心疾首,还是想想怎么恢复自己删除的代码吧。

    通过翻阅资料,这种情况是可以找回自己的代码的,只是过程比较麻烦,特此记录下操作步骤。

    模拟下出现的场景

    1、首先创建一个新的目录 并执行初始化命令,初始化一个新的仓库
    git init
    2、执行添加命令,把代码添加到仓库中
    git add
    3、执行回滚命令把添加到仓库的代码进行回滚
    git reset HEAD
    通过上面的一通操作,你会发现自己辛辛苦苦写的代码,竟然全没了。因为咱们没有提交记录,所以通过git的回滚上一版本的操作是找不回代码的。难道,被删除的代码真的找不回来了么?答案是:可以的。虽然过程有点复杂,起码比重新写还是容易些

    操作步骤

    1、执行fsck(文件系统检测)命令
    git fsck --lost-found
    这个命令会把悬空的blob恢复文件列举出来,效果如下:

    Checking object directories: 100% (256/256), done.
    notice: HEAD points to an unborn branch (master)
    notice: No default references
    dangling blob 7f6fdedda1e7c65c5525a7b7d41956ad9b669b37
    dangling blob 040f0623d8d04376f62265ad7af53ce7f5cc75f9
    

    2、这时你可以通过git show 7f6fdedda1e7c65c5525a7b7d41956ad9b669b37 命令查看当前哈希值对象的具体内容

    <head>
    <jsp:directive.include
            file="/WEB-INF/jsp/prelude/include-head-meta.jspf" />
    <title>My Home Page</title>
    </head>
    <body>
            <div class="container-lg">
                    <!-- Content here -->
                    Hello,World 2021
            </div>
    </body>
    

    这样咱们就可以看到丢失的代码了
    3、把丢失的代码拷贝到文件中
    执行命令git cat-file -p 7f6fdedda1e7c65c5525a7b7d41956ad9b669b37 > index.jsp
    然后咱们就可以看到丢失的代码会重新回到index.jsp文件中。

    相关文章

      网友评论

          本文标题:git恢复blob文件

          本文链接:https://www.haomeiwen.com/subject/lapqqltx.html