Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何恢复添加到git但被签出覆盖的文件_Git_Git Branch_Git Revert_Git Add_Git Reflog - Fatal编程技术网

如何恢复添加到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的列表—您添加的内容,但没有

需要帮助

  • 我使用“git add”添加了一些文件
  • 我想签出其他文件,却意外地运行了“git checkout-f”
  • 我确实知道使用reflog等可以恢复这些更改,但我不知道如何恢复!我知道这是有可能的。我真的需要这些改变


    有什么想法吗?

    好的,我修好了。可以恢复已添加到索引中的文件。只有在添加或隐藏了文件后,才能恢复这些文件

    以下是步骤:

    第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
    的文件时,如何检索它?