如何恢复添加到git但被签出覆盖的文件
需要帮助如何恢复添加到git但被签出覆盖的文件,git,git-branch,git-revert,git-add,git-reflog,Git,Git Branch,Git Revert,Git Add,Git Reflog,需要帮助 我使用“git add”添加了一些文件 我想签出其他文件,却意外地运行了“git checkout-f” 我确实知道使用reflog等可以恢复这些更改,但我不知道如何恢复!我知道这是有可能的。我真的需要这些改变 有什么想法吗?好的,我修好了。可以恢复已添加到索引中的文件。只有在添加或隐藏了文件后,才能恢复这些文件 以下是步骤: 第1步: git fsck −−lost-found git show <ID> 这将为您提供一个悬空blob ID的列表—您添加的内容,但没有
有什么想法吗?好的,我修好了。可以恢复已添加到索引中的文件。只有在添加或隐藏了文件后,才能恢复这些文件 以下是步骤: 第1步:
git fsck −−lost-found
git show <ID>
这将为您提供一个悬空blob ID的列表—您添加的内容,但没有提交(在执行强制签出之前)
第二步:
git fsck −−lost-found
git show <ID>
git秀
这是与该悬挂blob关联的ID。它将把文件的内容发送到控制台
就这样
这个帖子帮助了我:你可以试试类似的东西,看看你是否找到了什么。然而,Makoto是对的,
-f
的意思是“相信我,我知道我在做什么”。不要盲目地将其添加到命令中。另请参见。@R0MANARMY:我承认有冲突,因为在git fsck
中找到了OP的解决方案。我不认为我的答案是可行的,因为有一种恢复的方法。可能重复:。顺便说一句,很好地解决了这个问题(或多或少是你自己),而不是仅仅抱怨人们试图关闭你的问题=)。我真的很自豪你找到了这个答案。我没有意识到有一个带有git fsck
的选项。显然,我需要花更多的时间在管道上@Makoto只要您git添加
,您就可以让git“意识到”这些文件,如解决方案所示。这实际上是其他问题的重复,我只是很难找到一个好的规范化问题,因为它往往会不时弹出。那么,当您找到带有git show
的文件时,如何检索它?