[英]Semantic versioning: Am I allowed to move git tags to a different commit?
假设我用标签 v1.0.0 标记了我的库的提交A
现在,我在 API 文档中做了一个小修复,比如说,修复一个错字。 我提交了这个更改,所以新的提交B
现在紧跟在A
之后。
我是否允许将 v1.0.0 标记移动到提交B
,因为我没有进行任何重大更改,并且我的库的代码与提交A
中的代码完全相同?
或者,我是否需要在后续补丁中包含如此小的更改,例如 v1.0.1?
SemVer 2.0 中的第 3 点非常明确:
版本化的 package 发布后,不得修改该版本的内容。 任何修改都必须作为新版本发布。
请注意,SemVer 不考虑您的源代码管理工具,只考虑发布的 package 。 如果发布的 package 发生了变化,那么它是一个新版本。 因此,如果您的文档作为已发布的 package 的一部分发布,则修复它是对 package 的更改。
实际上,一旦您共享了标签或带标签的版本,下载该版本的人可能会做出明确的假设,例如每次下载时其内容的 SHA hash 都会匹配,或者git 存储库的镜像不必覆盖已获取的标签。
一般来说,SemVer 将版本号视为“便宜”——保持一致和可预测比您可能对低数字产生的任何情感依恋更重要,并且像“54.23.13”这样的版本号非常好。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.