Git flow 发布分支和标签 - 带或不带“v”前缀

问题描述 投票:0回答:4

我在各种 git flow 相关网站上看到了多个相互矛盾的定义。有官方建议或单一事实来源吗?

分支机构:

release-1.2.3
release-v1.2.3

标签:

1.2.3
v1.2.3

git naming-conventions git-flow
4个回答
132
投票

好吧,基本上这是一个偏好问题,但我更喜欢带有

v
的版本,因为 Semver 就是这样做的 那样 并且我尝试尽可能遵循该规范以获得合理的版本控制。

它还使过滤这些标签变得更容易,因为您可以按

v
,然后按 TAB 键进行自动补全:这将列出所有标签(可能还有一些分支),而标签可以有几个数字开始于。

编辑:2019 年,Semver 在其常见问题解答中添加了一个部分,澄清“v”前缀是“指示版本号的常用方式”(请参阅““v1.2.3”是语义版本吗?”)。


另请参阅:git 标签有标准命名约定吗?


40
投票

由于 v 代表版本,因此标签通常命名为 vX.Y.Z,X.Y.Z 紧随其后 Semantic Versioning 2.0.0.

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

请注意,Git 本身的标签最近出于令人惊讶的原因进行了“调整”:请参阅“代码版本更改“规则””。


10
投票

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

“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”。


0
投票

使用字母前缀的好处是您可以区分版本和候选版本。例如。我采用了一个方案,其中

rc1.2.3
是发布候选标签,
v1.2.3
是发布标签。许多项目上的分支都是根据版本命名的,但没有任何字母前缀(例如分支
1.2
),所以有字母前缀并不是一个坏主意。起初这对我来说似乎是多余的,但如果你有一些计划,那么它就开始有意义了。

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