【问题标题】:find all unreferred commit in git?在 git 中找到所有未引用的提交?
【发布时间】:2011-04-06 02:09:43
【问题描述】:

我怀疑我对上次提交 (B) 执行了不正确的修改 (B'),导致我在上次提交 (B) 中的所有工作都消失了。

  A
  |
  B [master]

amend to 
     A
   / |
  B  B'
    [master]

我认为如果我没有执行任何 git gc,我原来的“正确”提交 (B) 应该仍然在存储库中。但是,因为它没有被任何 ref 直接/间接引用,所以我找不到它。有什么方法可以在 git 中列出这种“未引用”的提交,以便我可以从该提交中检索我的工作?

谢谢

【问题讨论】:

    标签: git


    【解决方案1】:

    是的,reflog 就是您要找的。每次分支 HEAD 发生变化时,reflog 都会记录该分支之前的值。

    【讨论】:

    • 如果你已经设法到达提交甚至不在 reflog 中的地方,那么仍有希望 - 这是git fsck 的工作,它可以列出悬空的对象!
    猜你喜欢
    • 2017-05-14
    • 2014-01-07
    • 2020-11-23
    • 2014-02-22
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2015-11-12
    • 2010-10-31
    相关资源
    最近更新 更多