Git flow发布分支和标签 - 是否带有“v”前缀

151

我在多个与 git flow 相关的网站上看到了多种矛盾的定义。是否有官方建议或单一真相来源?

分支: release-1.2.3release-v1.2.3

标签: 1.2.3v1.2.3


1
请参见https://dev59.com/V3I-5IYBdhLWcg3wHUnP。 - Raedwald
3个回答

132

基本上这是一个偏好的问题,但我更喜欢带有v的版本,因为Semver按照这种方式进行版本控制,而我尽可能遵循该规范以获得合理的版本控制。

它还使过滤标签变得更加容易,因为您可以按下v然后按TAB键进行自动完成:这将列出所有标签(以及可能会有几个分支),而标签可能以多个数字开头。

编辑:2019年,Semver在其FAQ中添加了一节,澄清“v”前缀是“表示版本号的常用方法”(请参见“v1.2.3是否是语义化版本?”)。


另请参阅:Git标记是否有标准命名约定?


2
谢谢,这很有道理。我认为有趣的是,Git Flow 项目本身并没有使用 v 前缀:https://github.com/nvie/gitflow 出于你和 @VonC 所列出的原因,我仍然更喜欢包含 v 前缀的版本标签。 - friederbluemle
68
Semver(语义化版本规范)在第二版中移除了版本号前缀 v - schmijos
1
请参见:https://github.com/mojombo/semver/blob/master/semver.md#user-content-is-v123-a-semantic-version - Leo
12
该文档仅声明v1.2.3不是语义版本。问题涉及Git标签。实际上,semver存储库仍然将v2.0.0用作版本2的标签:https://github.com/mojombo/semver/releases/tag/v2.0.0 - friederbluemle
2
semver 2.0 http://semver.org 并没有规定标签必须以“v”前缀开头! - jankal
显示剩余3条评论

39

2
当人们使用像_semver_这样的最佳实践时,他们可能会使用类似_Git Flow_或类似的系统。那将防止引用冲突(分支等标签名称)。除此之外,有什么理由不将分支命名为vX.Y.Z呢?这真的不是一个很大的争论点 :) - kaiser
5
semver 2.0规范并没有说明标签必须以"v"前缀开头! - jankal
@jankal 我同意。我只是提到了语义化版本号的 X.Y.Z 策略。 - VonC
一个小的争议是更多的人会得到 v1.2.3 而不是 b1.2.3 :-) - Ciro Santilli OurBigBook.com

9

https://semver.org/#is-v123-a-semantic-version

“v1.2.3”不是语义化版本。然而,在英语中,在语义化版本前加上“v”是表示版本号的常见方式。缩写“version”为“v”通常用于版本控制。例如:git tag v1.2.3 -m "发布版本1.2.3",此时“v1.2.3”是标签名称,“1.2.3”是语义化版本。请注意保留HTML标签。

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