我有一个包含悬挂提交的存储库:
o (master) commit 3
o commit 2
o
| o (tag: danglings) dangling commit 2
| o dangling commit 1
|/
o commit 1
o initial commit
我已经使用标记标记了最新的悬挂提交,以确保它不会丢失,以防万一我将来需要它。
但是,在egits历史中查看该存储库时,我没有得到悬空提交。它们根本就没有显示出来。当我创建一个指向dangling commit 2
的分支时,会显示包括标记在内的两个提交。
如何预防?我希望看到一切,而不仅仅是egit历史视图中的分支。
编辑:添加了一个很好的截图蒙太奇:
第一个显示master签出,并且不存在悬空分支。当然,悬挂提交和 dangling
- 标签存在!
在第二个上,我创建了一个名为dangling
的分支,该分支指向使用标记dangling
标记的提交并将其签出。
请注意,当我在第二张图片上签出master时,视图不会更改(粗体书写master
和HEAD
移动除外)。
答案 0 :(得分:1)
robinst在评论中提及:
这只是EGit中的一个错误,只有带注释的标签才会发生,请参阅bug 417655 the fix
org.eclipse.egit.ui.internal.history.GitHistoryPage
中的Filtering settings。 目标Egit 3.1
原始答案:
这个Egit exercice讨论了历史观点:
考虑此视图中可用的不同按钮:
:
该教程提到:
提示:如果您迷失了不同的滤镜并且历史记录未显示您的预期,请将其设置为显示所有内容。
因此,请务必启用“Show all branches and tags
”(a
)并选择“Show all changes in repository
”(e
)。
这两个按钮可能会显示所有可到达的(至少被标记为)提交。
Egit User Guide的“All branches”部分很明确:
视图工具栏中的下四个切换按钮控制如何根据当前输入过滤显示的提交。
这些按钮用作单选按钮,即四个按钮中的一个必须始终关闭。
- 如果“
Repository
”按钮关闭,则不会过滤提交日志,并显示从当前签出的分支可以访问的所有提交(或所有提交,请参阅下面的“所有分支”操作)- 如果“
Project
”按钮关闭,则提交日志将被过滤,以显示影响项目中包含当前输入的任何资源的所有提交- 如果“
Folder
”切换为关闭,则提交日志将被过滤,以显示影响当前输入的父文件夹中任何资源的所有提交- 如果“
Resource
”按钮关闭,则会过滤提交日志以仅显示影响当前输入的提交;视图菜单项Show > Follow Renames
允许切换此过滤器是否应该遵循所选资源的重命名请注意,并非滤波器设置和电流输入的所有组合都有意义;例如,如果当前输入是项目,则“项目”选项实际上与“资源”选项相同。
但“{{3}}”部分添加:
此切换激活“所有分支”模式 默认情况下,只有提交日志中显示的那些提交可以从当前检出的提交中显示,即提交图以当前检出的提交结束,并且不显示更新的提交。
如果此按钮关闭,则所有提交都将显示在提交日志中。
在您的情况下,我不确定提交是否仅在标记引用时显示 只有分支才能使这些提交可见。