需要帮助!
- 我使用“git add”添加了一些文件。
- 我想要检出其他文件,但不小心运行了“git checkout -f”。
我知道可以使用reflog等方法找回这些更改,但我不知道该怎么做!我知道可以获取差异。我真的需要这些更改。
有什么想法吗?
需要帮助!
我知道可以使用reflog等方法找回这些更改,但我不知道该怎么做!我知道可以获取差异。我真的需要这些更改。
有什么想法吗?
好的,我修复了。已添加到索引中的文件是可以恢复的。只有在文件被添加或存储后才能恢复文件。
以下是步骤:
步骤1:
git fsck −−lost-found
这将为您提供一个悬挂 blob ID 的列表 - 即您添加但在强制检出之前未提交的内容
步骤 2:
git show <ID>
这是与悬空blob相关联的ID。它将文件内容输出到控制台。
就是这样!
这个帖子帮了我:如何从git reset --hard恢复?
git fsck
还有这个选项。显然我需要花更多时间在 Git 的底层操作上! - Makotogit add
,你就让 Git “意识到”这些文件的存在,正如解决方案所示。实际上,这是其他已经被问过的问题的重复,只是我很难找到一个好的规范答案,因为它偶尔会出现。 - user456814git show
找到文件后,如何检索它呢? - young_souvlaki
-f
的意思是“相信我,我知道我在做什么”。不要盲目地将其添加到命令中。 - Romangit fsck
中找到了OP的解决方案。我认为我的答案并不是很可行,因为有一种恢复的方法。 - Makoto