2010-09-10 140 views
0

我可能犯了一个很大的错误。“Git Clean -fdx”恢复...可能吗?

相关信息:

  • 的Windows XP SP2
  • i686的Cygwin的混帐1.7.6
  • 1.7.1

我试图创建一个新创建一个空的分支git仓库,这里是我刚发布的命令:

git init 
git symbolic-ref HEAD refs/heads/klist 
rm .git/index <---- this command failed obviously, there was no index. 
git clean -fdx <---- this is my nightmare 

问题是我不知道干净的命令真的删除了当前文件夹中的文件,因为这是一个新初始化的git仓库,所以没有旧版本可以恢复。

我有他们的一些文件上传到我的主页,但有些不是。 任何想法如何恢复文件将不胜感激。我不介意使用任何类型的恢复软件,我知道在linux/cygwin上丢失文件是一个痛苦,如果不是不可能恢复的话,但是可以让它一炮打响。

+0

如果我回想一下我在git-clean上做的一些工作,它没有备份机制。 – alternative 2010-09-10 00:12:20

+0

我一直在网上查询,我没有看到太多可以帮助我...但我会看到我可以尝试反正 – RaptorX 2010-09-10 00:16:53

回答

3

git clean删除未跟踪内容,根据定义,存储库一无所知。这就是为什么默认情况下什么都不做,需要-f选项来做任何事情 - 它基本上就像在未跟踪的东西上拨打rm一样。在这一点上,你几乎陷入了绝望的恢复领域 - 就像你自己偶然完成了rm -rf *一样。如果幸运的话,这些文件可能仍然在磁盘上。谷歌周围的“恢复删除的文件”,或者可能要求超级用户。

+0

谢谢,会做。很酷,注意到我的rm被别名移动到一个.trash文件夹命令,我去那里查找文件,但是我没有看到任何文件,所以git命令真的使用它自己的'rm'命令删除了这些文件。另外我从github处获得指示,唯一的警告是:'以下操作将失去任何未提交的更改!'没有提及物理删除现有文件。 – RaptorX 2010-09-10 00:28:21

+0

这只是一个比喻。这绝对不是使用你的rm别名/替代品;我只是想强调它是多么永久。而且...是的,github上的警告应该更加清晰和严厉。它是在已经有初始提交的存储库的上下文中给出的,但仍然应该是“这将永久删除所有未被跟踪和忽略的文件和目录”。 – Cascabel 2010-09-10 01:14:25