git rm -f 添加后,提交前,windows cmd 行。早些时候在 STS (Eclipse) 中打开。能恢复吗?

git rm -f after add, before commit, on windows cmd line. Was open earlier in STS (Eclipse). Can recover?

我想取消暂存文件(因为我的 .gitignore 没有设置为忽略我的一些 IDE 文件)但我匆忙做了 :

 git add w3

//在新添加的子文件夹 w3 中添加了一些 .settings 等文件夹和文件 // 这里的 repo 已经有子文件夹 w1 & w2.

然后发出:

 git rm -f w3/*

我在 windows 8. 文件被硬删除(不在回收站中)。我可以用 git 或任何其他(免费)方式做些什么?

编辑添加 * 它也是在 STS(eclipse) 中打开的,但现在删除了 pom,设置了所有内容。无论如何要从 eclipse 中恢复?

  • 如果文件未进行版本控制,则无法将其还原。请参阅 documentation of git-rm. See 以了解如何撤消将文件添加到暂存区。

  • 如果文件已版本化,您可以从过去的提交中检索它。有关详细信息,请参阅 this answer

当然,如果您备份了您的驱动器,您也许可以使用您的备份程序来恢复它。为此,您可能会在 SuperUser.

获得帮助

未提交但已添加的文件仍会在存储库中保留一段时间,但是恢复它会非常棘手,尤其是对于大型旧存储库,因为通常它有很多垃圾。因此,如果您不介意挖掘垃圾,请从 git fsck 开始并寻找 dangling blob.

但是,您似乎无法恢复丢失文件的名称,只能恢复内容。