【问题标题】:How to get deleted files back with git pull?如何使用 git pull 找回已删除的文件?
【发布时间】:2016-10-28 01:00:39
【问题描述】:

我有最新的存储库。然后我删除了几个文件,这是错误的。我想取回新的存储库。我愿意

$ git pull origin master

并期望从服务器获取所有内容,但收到消息表明所有内容都是最新的。

那么如何使用git pull 从服务器获取我的资源?

【问题讨论】:

    标签: git backup


    【解决方案1】:

    您可以将本地分支重置为远程分支

    git reset --hard origin/master
    

    【讨论】:

    • 因为用户没有在任何地方说他对项目所做的更改。他可以检查他删除的文件...
    • @NativeCoder 无论他是否提交它们都没有关系,对远程跟踪分支的硬重置会将工作目录恢复到该状态。具体来说,他说“我想找回新的存储库。”
    • 再看一遍,操作确实声明“使用 git pull”。在这种情况下,这将是唯一的“正确”答案。对不起!让那个代表回来!
    • 进行硬重置时要小心。它将重置所有内容,包括您的配置。
    • 首选方法:git checkout [dir_name]
    【解决方案2】:

    这些文件位于您的本地 git 历史记录中,因此您无需拉取代码即可将它们取回。运行

    git checkout <file>
    

    关于丢失的文件。如果您没有任何未提交的更改,那么

    git checkout .
    

    在 git 根目录中也可以。

    【讨论】:

    • 这是我最喜欢的答案,尽管我的答案已经被接受了大约 3 倍的赞成票。干杯?
    【解决方案3】:

    这会显示所有已删除的文件。

    git ls-files --deleted 
    

    这将恢复已删除的文件。

    git checkout <deleted file name with complete path>
    

    【讨论】:

      【解决方案4】:

      对于所有未暂存的文件,请使用

      git checkout -- .

      或者更安全的方式

      git clean -fd

      【讨论】:

      • 假设他没有犯任何事情
      • 这会删除所有修改过的文件。它不只是重新提取已删除的文件(即使 OP 想要重新恢复……值得一提,因为其他人很容易错过这一点)
      【解决方案5】:

      这就是你所需要的

      git reset --hard
      git fetch origin 
      git pull origin master
      

      【讨论】:

      • 如果你要拉下一个,则无需获取原点
      【解决方案6】:

      git status 命令的结果是什么? 你也可以试试git reset --hard origin/master

      【讨论】:

        【解决方案7】:

        如果您只是还原更改,您将删除所有文件。这不是您必须重置的解决方法(您提到的),IMO 它比获得新的回购更好。

        【讨论】:

          【解决方案8】:

          这将恢复所有已删除的文件,因为它们仍驻留在您的本地存储库中。

          git checkout -- .
          

          每当我想从一个我搞砸的文件重新开始,甚至只是废弃存储库中的构建时,我都会删除除 .git 文件夹之外的所有内容并运行它以重新开始。

          【讨论】:

            【解决方案9】:

            要从 git pull 中获取已删除的文件,我们可以使用此命令找回已删除的文件

            git rev-list -n 1 HEAD
            

            【讨论】:

              【解决方案10】:

              git stash 命令呢? 如果您没有提交更改(例如文件删除),那么您可以运行 git stash

              【讨论】:

              • git stash 在这里无济于事。只需将已接受的答案视为已接受
              猜你喜欢
              • 2018-02-02
              • 2011-10-29
              • 2019-11-01
              • 2019-08-14
              • 1970-01-01
              • 2018-08-06
              • 1970-01-01
              • 2020-12-30
              • 2021-10-14
              相关资源
              最近更新 更多