Github最新发布版本与最新版本不同。

3

enter image description here

这是情况。
1. 30分钟前,我发布了一个标签名为v4.2.4的版本说明。 2. 然后,就在刚才,我发布了一个新的标签名为2022-07-18-0013的版本说明(这个标签名只是关于日期的,我的公司有时会使用这种版本号风格)。
据我所知,最新版本说明意味着最新的版本说明。但在我的情况下,只有语义化版本(v4.2.4)才能拥有latest标签。
为什么会发生这种情况呢? 我找不到任何规则说明只有语义化版本才有获得最新版本的特权。
(我想知道为什么会发生这种情况,因为我使用了最新版本Github API

------------- 编辑 ----------------

git log --oneline打印以下结果。
0bc82b8 Merge pull request #166 from devstefancho/feature/0718_test1
2e85d9a add
6cc313e add
4c7e5b2 Merge pull request #165 from devstefancho/feature/0717_test2
f018fca test
b403615 Merge pull request #163 from devstefancho/feature/0717_test2
e7dd66f test

git log --graph --oneline

*   0bc82b8 Merge pull request #166 from devstefancho/feature/0718_test1
|\  
| * 2e85d9a add
|/  
* 6cc313e add
*   4c7e5b2 Merge pull request #165 from devstefancho/feature/0717_test2
|\  
| * f018fca test
* | b403615 Merge pull request #163 from devstefancho/feature/0717_test2
|\| 
| * e7dd66f test
|/  

------------------- 已解决 --------------------

感谢您提供的出色答案,我终于弄清楚了!

原因:相同日期的时间戳

如果标签不是在同一天创建的,则最新(按时间排序)的标签将成为“最新”标签。

enter image description here


提交 b403 和 4c7e 之间的关系是什么?也许前者比后者更新? - criztovyl
@criztovyl 我添加了git日志列表,b403比4c7e旧。 - devstefancho
git log --graph --oneline 是什么意思? - criztovyl
@criztovyl 好的,我也在问题中添加了git日志图表。 - devstefancho
1个回答

5

以下信息是由GitHub员工提供的

版本发布基于Git标签,标记了存储库历史记录中的特定点。标签的排序顺序如下:

  • 标签按其指向的底层提交的时间戳排序
  • 如果这些提交是在同一天创建的,则根据标签名称的语义版本排序(https://semver.org/
  • 如果语义版本相同,则按创建的秒数排序

预发布版本优先级低于相关联的正式版本。


谢谢!那我需要选择另外一天进行测试,以避免在同一天进行测试。测试完成后,我会选择您的答案。 - devstefancho
@devstefancho 听起来不错。如果您的测试结果确认了这些信息,请告诉我们。 - jsejcksn
1
最终结果是,原因是相同的时间戳。 就像你提供的第二个信息一样,如果标签是在同一天创建的,则“latest”绿色标签将赋予最新的语义版本标签。如果标签不是在同一天创建的,则“latest”绿色标签将被赋予最新的标签。 - devstefancho
我添加了最终结果的截图。 - devstefancho
谢谢提供信息,但是我仍觉得奇怪,我的同日发布的 v0.1.1-beta1 版本比 v0.1.1 版本更高(尽管 v0.1.1 被标记为最新版本)。 - Teddy van Jerry
@TeddyvanJerry 我猜他们的排序算法认为 v0.1.1-beta1 > v0.1.1 - Shinebayar G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接