Git add后跟git reset删除了我的所有文件[重复]

问题描述 投票:-1回答:2

这个问题在这里已有答案:

嗯,我搞砸了......

我有一个回购并做了一个git add。首次。

但后来意识到有很多文件不应该存在,所以我想重置然后修复.gitignore然后重做。

做完git reset --hard

我的所有文件都不见了。

问题,有没有办法“撤消”这个?

不顾一切地寻求帮助。我没有其他备份,推送到git应该是我的备份;>)

git gitlab
2个回答
0
投票

此链接提供了恢复文件的方法。

git add + git reset hard deleted working copy file - undo?

这有点痛苦,但比重做所有的工作要好。

我使用此命令将所有blob列入文本文件(blobs.txt)。

git fsck | awk '{if(/blob/) print $3}' > blobs.txt^C

然后我写了一个简短的bash脚本来遍历文件并将每个blob的内容捕获到一个文件中。这是bash脚本:

#!/bin/bash
while read p; do
        git cat-file blob $p > $p.txt
done <blobs.txt

这给了我一堆名为blobxxx.txt的文件然后我不得不手动浏览每个文件并确定我需要的文件名。一点点过程,但它起作用,因为我只需要找到我的源文件。

放松的大声。


-2
投票

基本上,答案是否定的。正如你所说,你搞砸了。如需更详细的解答,请关注此帖:Recover from git reset --hard?

© www.soinside.com 2019 - 2024. All rights reserved.