【问题标题】:Semantic versioning: Am I allowed to move git tags to a different commit?语义版本控制:我可以将 git 标签移动到不同的提交吗?
【发布时间】:2022-01-02 00:10:05
【问题描述】:

假设我用标签 v1.0.0 标记了我的库的提交 A

现在,我在 API 文档中做了一个小修正,比如说,修正一个错字。我提交了这个更改,所以新的提交 B 现在紧跟在 A 之后。

我是否可以将 v1.0.0 标记移动到提交 B,因为我没有进行任何重大更改,并且我的库的代码与提交 A 中的代码完全相同?

或者,我是否需要在后续补丁中包含如此小的更改,例如v1.0.1 代替?

【问题讨论】:

    标签: git version-control git-commit semantic-versioning


    【解决方案1】:

    Point 3 in SemVer 2.0 非常明确:

    一旦发布了版本化包,就不得修改该版本的内容。任何修改都必须作为新版本发布。

    请注意,SemVer 不考虑您的源代码管理工具,只考虑已发布的包。如果发布的包发生了变化,那么它就是一个新版本。因此,如果您的文档是作为已发布包的一部分发布的,那么修复它就是对包的更改。

    实际上,一旦您共享了标签或带标签的版本,下载该版本的人可能会做出明确的假设,例如每次下载时其内容的 SHA 哈希值都会匹配,或者您的 git 存储库的镜像不必覆盖已获取的标签。

    通常,SemVer 将版本号视为“便宜” - 保持一致性和可预测性比您可能对低数字产生的任何情感依恋更重要,并且像“54.23.13”这样的版本号非常好。

    【讨论】:

      猜你喜欢
      • 2011-12-24
      • 1970-01-01
      • 1970-01-01
      • 2017-05-18
      • 2017-07-26
      • 2017-02-18
      • 1970-01-01
      • 2016-11-22
      • 2019-04-06
      相关资源
      最近更新 更多