我不确定这是否是故意的,但https://github.com/variadico/noti/tags显示所有以前的标签都有一个前置v
而 3.0.0 没有。
恕我直言,我们都应该停止在我们的 git 标签前面加上v
,原因很简单, v1.2.3
不是有效的 SemVer。 只要我们prepend
和v
,我们就必须做一些额外的工作来将 git 标签翻译成版本,例如git describe --tags --abbrev=0 | tr -d 'v'
。 git
标签不应该被_翻译成_一个版本。 git
标签应该_be_版本。
另一方面,GitHub GUI(单击Draft a new release
)建议带有v
标签:
标记建议
通常的做法是在版本名称前加上字母 v。一些好的标签名称可能是 v1.0 或 v2.3.4。
如果标签不用于生产用途,请在版本名称后添加预发布版本。 一些好的预发布版本可能是 v0.2-alpha 或 v5.9-beta.3。
祝你好运让它停止:)
无效 SemVer
我认为它仍然是。 它曾经显然是必需的。
@y0ssar1an仅供参考: https :
感谢您促使我进一步研究。 显然,在 SemVer 1.0.0 中添加v
是_required_ ,但在 SemVer 2.0.0 中无效。 正如您所提到的, v
是一些来自git
版本控制系统之前的历史遗留物。
更新日志一直说这个项目使用semver。 这么说似乎很愚蠢,但实际上并没有遵循 semver。 它还可以更轻松地从标签解析版本, noti 就是这样做的。
简而言之,是的,这是故意的! 😄 感谢您的仔细检查!
@variadico感谢您澄清这一点! 作为记录,当前的 semver 本身在https://github.com/semver/semver/blob/master/semver.md#is -v123-a-semantic-version 中说
示例:
git tag v1.2.3 -m "Release version 1.2.3"
,在这种情况下,“v1.2.3”是标签名称,语义版本是“1.2.3”。
因此,在标签名称中包含v
并不矛盾,因为 semver 允许区分“标签名称”和“semver 版本”本身。