是否可以恢复已添加但未在Git中提交的已删除文件?

use*_*893 5 git recover

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

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

use*_*342 7

由于文件已经在您的临时区域(索引)中,因此只需使用git commit不带任何参数的文件即可.无论工作树的当前状态如何,这都将提交索引的内容.

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


Lil*_*ard 6

您可以使用它git fsck --lost-found来查找不再引用的所有对象.您将需要查看'blob'对象,看看它们是否与您删除的文件相匹配.希望你周围没有很多未引用的物体.


正如用户4815162342指出的那样,海报实际上说还没有添加删除,这意味着它们可以被检索git checkout,或者现在只是简单地发送以确保它们不会消失.

如果其他人想要信息git fsck --lost-found,我会留下我的答案,但是应该接受user4815162342的答案.

  • `git fsck --lost-found`将所有悬空对象写入`.git/lost-found/commit /`或`.git/lost-found/other /`文件夹.查看`other`文件夹并尝试查找包含您删除内容的文件.名称将是SHA1哈希值,但内容将是实际文件. (2认同)