我在各种 git flow 相关网站上看到了多个相互矛盾的定义。有官方建议或单一事实来源吗?
分支机构:
release-1.2.3
或release-v1.2.3
标签:
1.2.3
或v1.2.3
好吧,基本上这是一个偏好问题,但我更喜欢带有
v
的版本,因为 Semver 就是这样做的 那样 并且我尝试尽可能遵循该规范以获得合理的版本控制。
它还使过滤这些标签变得更容易,因为您可以按
v
,然后按 TAB 键进行自动补全:这将列出所有标签(可能还有一些分支),而标签可以有几个数字开始于。
编辑:2019 年,Semver 在其常见问题解答中添加了一个部分,澄清“v”前缀是“指示版本号的常用方式”(请参阅““v1.2.3”是语义版本吗?”)。
另请参阅:git 标签有标准命名约定吗?
由于 v 代表版本,因此标签通常命名为 vX.Y.Z,X.Y.Z 紧随其后 Semantic Versioning 2.0.0.
这允许分支 X.Y.Z 与这些标签共存,而不必处理诸如“致命:不明确的对象名称”之类的错误消息(如“GIT 的模糊名称?”)。
请注意,Git 本身的标签最近出于令人惊讶的原因进行了“调整”:请参阅“代码版本更改“规则””。
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”。
使用字母前缀的好处是您可以区分版本和候选版本。例如。我采用了一个方案,其中
rc1.2.3
是发布候选标签,v1.2.3
是发布标签。许多项目上的分支都是根据版本命名的,但没有任何字母前缀(例如分支1.2
),所以有字母前缀并不是一个坏主意。起初这对我来说似乎是多余的,但如果你有一些计划,那么它就开始有意义了。