2012-03-28 136 views
4

预发布版本可以通过附加破折号和一系列点分隔的标识符紧接在补丁版本以下来表示。示例:1.0.0-alpha,1.0.0-alpha.1,1.0.0-0.3.7,1.0.0-x.7.z.92。Git标签发布版本?

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

+0

任何表示预发布版本,所以没有你上市是官方的那些,但你应该澄清你一个意思“释放犯”。你在开发什么软件?这里的背景是什么? – 2012-03-28 03:55:14

回答

7

您可以选择类似于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)是完全毫不含糊。第三个数字后

+0

+1,非常有用! – tripleee 2012-03-28 06:44:05

+1

'选择一个好的版本编号policy'链接是死 – Trix 2017-10-02 10:46:44

+0

@Trix我同意,我不能够在任何地方找到它的一个副本,其中包括http://web.archive.org/。我已经离开了票(https://github.com/thesp0nge/thesp0nge.github.com/issues/1) – VonC 2017-10-02 11:17:48