Git add然后git reset删除了我的所有文件

时间:2018-03-05 15:22:49

标签: git gitlab

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

我有一个回购并且做了一个git add。这是第一次。

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

执行git reset --hard

之后

我的所有文件都不见了。

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

急需帮助。 我没有其他备份,推送到git应该是我的备份;>)

2 个答案:

答案 0 :(得分: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的文件 然后我不得不手动浏览每个并确定我需要的文件名。一点点过程,但它起作用,因为我只需要找到我的源文件。

放松的大声。

答案 1 :(得分:-2)

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