Git标签发布版本?

问题描述 投票:5回答:1

预发布版本可以通过在补丁版本之后紧跟字符串和一系列点分隔标识符来表示。示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92。

semver.org

出于消除歧义的目的,标记发布提交(从主分支提交)的“正确”方法是什么?

一些想法

v1.7.2-release
v1.7.2-master
v1.7.2-prod
v1.7.2-official
v1.7.2-stable

github.com/antirez/redis/tags

git git-branch git-tag
1个回答
8
投票

您可以选择类似于Git本身的策略(请参阅其tags in the GitHub repo):

v1.7.2-rc0
v1.7.2-rc1
v1.7.2-rc2
v1.7.2-rc3
v1.7.2

这个想法(如Choosing a good version numbering policy中所述)可以遵循以下方式:

'master'分支将包含标记为在特定时刻生产就绪的代码,'master'必须始终可编译。 'master'分支中的代码必须具有偶数标记号。

对于版本号,它将使用git describe命令创建,因为它是一种标准的事实。

Canonical Version Numbers with Git

git describe –tags –long

这给你一个字符串(在我的一个项目的情况下)

2.1pre5-4-g675eae1

格式为

{last reachable tag name}-{# of commits since that tag}-#{SHA of HEAD}

这为您提供了一个“规范版本号”(拼写更正),它通过提交单调增加,并且在多个开发存储库中是唯一的。如果我们都在同一个HEAD上,它将返回相同的值。如果我们都共享相同的最新标记,但具有不同的提交,则SHA将是不同的。

你可以努力在master上只有版本号

{last reachable tag name}-0-#{SHA of HEAD}

(即仅标记提交)

但是这个想法是这种版本号(标签+ SHA)是完全明确的。

© www.soinside.com 2019 - 2024. All rights reserved.