5

我是 git 新手,我犯了一个愚蠢的错误,我通过“rm *”命令删除了一些重要文件。但是,我确实使用“git add”来添加这些文件,但没有提交。删除尚未添加。那么有什么方法可以恢复这些已删除的文件。

任何建议或答案将不胜感激。谢谢。

4

2 回答 2

7

由于文件已经在您的暂存区域(索引)中,只需使用git commit不带任何参数的方式提交它们。无论工作树的当前状态如何,这都会提交索引的内容。

然后您可以使用git reset --hard(如果您在要保留的树中没有其他更改)或git checkout FILE1 FILE2...将丢失的文件恢复到您的工作树中。

于 2012-09-15T07:20:24.657 回答
6

您可以使用它git fsck --lost-found来查找不再引用的所有对象。您需要查看“blob”对象并查看它们是否与您删除的文件匹配。希望您周围没有很多未引用的对象。


正如用户 4815162342 所指出的,发帖人实际上说尚未添加删除,这意味着可以使用 检索它们git checkout,或者只是立即提交以确保它们不会消失。

我会留下我的答案,以防其他人想要关于 的信息git fsck --lost-found,但应该接受 user4815162342 的答案。

于 2012-09-15T04:59:09.587 回答