由于本人的一次不小心的操作,在本地仓库中执行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文件中。
网友评论