繁体   English   中英

语义版本控制:我可以将 git 标签移动到不同的提交吗?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM