无论如何在git rm -r -f之后回滚工作目录

时间:2014-01-13 19:43:17

标签: git git-rm

我想我可能已经搞砸了我的日常工作,但我做了这个命令链

git status
git add .
git rm filename1
git rm filename2

然后我愚蠢地想到为什么我一个接一个地做这个我知道有办法一次完成这一切

git rm -r -f

工作目录被擦除我意识到我搞砸了然后尝试了

git checkout -f

将所有内容恢复到我今天上午的最后一次提交。

我正在看这些答案,并认为可能有一种方法,但我不能理解这些答案,冒险尝试任何事情,任何建议?

Can a “git rm -r -f ” command be reverted?

How to undo a “ git rm -r -f * ”

1 个答案:

答案 0 :(得分:1)

根据链接的答案,您添加到git add索引的所有内容都应该可以通过以下方式恢复:

git fsck --lost-found

这将创建您添加到索引但从未在.git/lost-found/other目录中提交的文件。文件名将是SHA,所以你必须逐个查看才能知道哪个是。