Git flow发布分支和标记-带或不带;v";前缀

Git flow发布分支和标记-带或不带;v";前缀,git,naming-conventions,git-flow,Git,Naming Conventions,Git Flow,我在各种与git流相关的网站上看到过多个相互矛盾的定义。是否有官方建议或单一的真相来源 分支:release-1.2.3或release-v1.2.3 标签:1.2.3或v1.2.3好吧,基本上这是一个偏好问题,但我更喜欢带有v的版本,也是这样,我尝试尽可能地遵循该规范以获得一个合理的版本控制 编辑说明:Semver不再指定“v”前缀的用法,但并不表示它是“表示版本号的常用方式”。事实上,Semver明确表示“v1.2.3”(例如)“不是语义版本” 它还可以简化对这些标记的筛选,因为您可以按v,

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

分支:
release-1.2.3
release-v1.2.3


标签:
1.2.3
v1.2.3

好吧,基本上这是一个偏好问题,但我更喜欢带有
v
的版本,也是这样,我尝试尽可能地遵循该规范以获得一个合理的版本控制

编辑说明:Semver不再指定“v”前缀的用法,但并不表示它是“表示版本号的常用方式”。事实上,Semver明确表示“v1.2.3”(例如)“不是语义版本”

它还可以简化对这些标记的筛选,因为您可以按
v
,然后按TAB键进行自动完成:这将列出所有标记(可能还有几个分支),而标记可以以几个数字开头



另请参见:

因为v代表版本,所以标签通常命名为vX.Y.Z,下面是X.Y.Z

这允许分支X.Y.Z与这些标记共存,而不必处理诸如“致命:对象名称不明确”(如“”)之类的错误消息

请注意,Git本身的标记最近被“改编”了,原因令人惊讶:请参见“。

v1.2.3是语义版本吗?否,“v1.2.3”不是语义版本 版本然而,在语义版本前加上“v”是一种常见的方法 表示它是版本号的方式(英文)。缩写 在版本控制中,“version”通常被视为“v”。示例:git标记 v1.2.3-m“Release version 1.2.3”,在这种情况下,“v1.2.3”是一个标签 名称和语义版本为“1.2.3”


谢谢,这很有道理。我认为有趣的是,Git Flow项目本身没有使用v前缀:出于您和@VonC发布的原因,我仍然更喜欢包含v前缀的版本标记。Semver在版本2中删除了前缀v。请参阅:@schmijos@LeoTM-文档仅说明v1.2.3不是语义版本。问题是关于Git标签的。事实上,semver repo仍然使用
v2.0.0
作为版本2的标记:semver 2.0没有说明以“v”前缀开头所需的标记!当人们使用像semver这样的最佳实践时,他们可能会使用像Git Flow或类似的系统。这将防止参照(分支eq标记名)的冲突。除此之外,还有什么能阻止人们命名分支
vX.Y.Z
?这并不是一个很重要的论点:)Semver2.0没有说明任何需要以“v”前缀开头的标记@詹卡尔:我同意。我只提到了X.Y.Z政策的semver。一个小论点是,更多的人将获得
v1.2.3
而不是
b1.2.3
:-)参见