【问题标题】:How to recover local files reset by git commands?如何恢复由 git 命令重置的本地文件?
【发布时间】:2019-05-25 06:23:20
【问题描述】:

我不小心重置了我的 git 帐户上的存储库。头部或提交(无法正确记住)距离本地文件更远。现在,本地存储库中的文件已经消失并与 git 帐户存储库同步。有什么办法可以恢复这些文件?

当我将文件推送到 bitbucket 帐户时,它总是卡在 57% 上。我通过互联网搜索并找到了 git repo 重置代码。这导致上一次提交后的所有文件从本地存储库中消失。现在,我在本地和 git 存储库中都没有这些文件。

【问题讨论】:

  • 我们需要更多信息来帮助您。这些丢失的文件是否在丢失之前都已提交?
  • @TimBiegeleisen 只有未提交的文件会丢失。我还使用了 Recuva 等恢复工具。他们只能找到已删除的文件,而不能找到丢失的文件。
  • 如果您真的在没有提交或暂存的情况下对工作目录和暂存区进行了硬重置,那么文件可能会永远丢失。如果您的 IDE 或其他类型的代码编辑工具维护文件的本地历史记录,您可以尝试查看那里。
  • @TimBiegeleisen 谢谢。在我回复您的评论后,我实际上意识到这些文件可能没有被删除。所以我尝试了 git reflog show master,然后我去了 git checkout -b 提交号,最后是 git checkout 。这些命令将我的所有文件恢复到所需的提交。
  • 我忘了提到 git reset --hard

标签: git bitbucket


【解决方案1】:

以下代码应该可以解决此类问题:

  1. 首先使用git reflog 查看所有提交。

  2. 其次,git reset --hard <commit_number_from_reflog>

  3. 那么,git checkout -b <new_branch_name> <commit_number>

  4. 最后,git checkout <new_branch_name>

这些命令将取回您已提交和未保存的文件。

【讨论】:

    猜你喜欢
    • 2019-10-19
    • 1970-01-01
    • 2012-05-16
    • 2021-01-29
    • 2021-11-14
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-11-11
    相关资源
    最近更新 更多