Eclipse & E-Git:检查旧的 Github 修订版本以进行比较 - 但不能 checkout/restore 当前的 HEAD 修订版本

Eclipse & E-Git: checking out old Github revisions for comparison - but can't checkout/restore current HEAD revision

关于查看旧的 Git 修订版,我有一个由来已久的问题。 Eclipse 中有一个功能,您可以在其中通过团队版本控制历史视图查看“Git 历史”并查看所有提交。如果右键单击旧版本,则可以单击上下文菜单中的“签出”将项目恢复到该版本。这对于查看特定错误的起始位置非常有帮助,因为有时这些错误可能是一个长达数十万行的项目中的一行。

问题是,当我检查这些旧版本时,我无法通过 Eclipse UI 完全弄清楚如何将我的项目恢复到主要的 HEAD 版本,或者通常是更新的版本,一旦我完成了一个旧的范围。

特别是,我在 Eclipse 中打开 git 历史视图并检查了 4 天前的版本。但是,我想回到最新的版本,而历史记录似乎就停在了我已签出的当前版本上,我无法超越它。我已经尝试了很多事情,但通常最终只会把项目搞得更糟,我最终放弃了——删除项目——然后重新克隆它。至少可以说这很乏味。

对于某些上下文,这里有一个关于此还原过程如何工作的问题。不幸的是,这个特定 post 的答案说当你完成恢复时再次检查最新的修订,但正如我将在下面解释的那样,它隐藏了我检查后的修订,在我之后已查看:

How to go to previous commits in eclipse and egit

如何让它显示在我当前签出之后的修订?至少可以说这有点令人沮丧。您可以在这里看到,此版本上方没有显示任何内容:

编辑:再次重新克隆后,这是当前版本为 HEAD 修订版时的样子。我做这个post时检查过的旧选项上方的选项消失了:

最后,为了提供更多帮助,这里是 git 历史记录 menu/context 菜单的屏幕截图,向您展示了我所说的确切功能:

感谢您的宝贵时间!

在历史视图 top-right 的工具栏中,有一个下拉按钮可以控制要显示的提交。它是一个看起来像一分为二的淡蓝色向下箭头。默认情况下,它设置为仅显示当前 HEAD 的祖先,但您可以 select 其他过滤器。您想要的可能是 refs/heads/**,它将显示所有本地分支机构。