【问题标题】:Can't find my commit after doing a git pull执行 git pull 后找不到我的提交
【发布时间】:2016-04-26 16:05:52
【问题描述】:

我上周在当地有一个分支机构。我知道我会离开一段时间,所以我提交了我的更改,但没有推动它们。今天我回去工作了,当我检查它时,它告诉我我比 origin 落后 40 次提交,我应该做一个git pull

所以我做到了。现在我找不到我上周提交的更改。我没有它的哈希值,在gitk 中也找不到。

我查看了 thisthisthis,但是当我只是为了查看东西在哪里而创建了 git checkout HEAD@{1} 时,它不是应该在的位置。

我怎样才能找到我的本地提交并安全地返回它?

【问题讨论】:

    标签: git version-control


    【解决方案1】:

    前段时间你做了一个提交,然后你的 HEAD 指针引用了你当前正在寻找的提交。您可以使用 git reflog 查看 HEAD 引用的提交的历史记录。

    此历史记录将显示 HEAD 引用的所有提交,以及 HEAD 移动到该提交的原因。搜索这段历史,你会发现一个类似这样的条目:

    c939669 HEAD@{17}: commit: Your commit message here
    

    此时你已经找到了你的提交,只需要检查一下:

    git checkout c939669
    

    你已经完成了

    【讨论】:

      猜你喜欢
      • 2021-09-26
      • 2011-09-06
      • 2017-01-02
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 2020-07-25
      • 2020-12-27
      相关资源
      最近更新 更多