我应该如何/何时更新版本号?

Sle*_*Guy 5 version-control version

因此,对于更多上下文,我使用此版本编号系统

版本顺序:MAJOR.MINOR.PATCH

  • MAJOR:主要部分表示 API 中的破损
  • 次要:次要段表示“外部可见”的变化
  • PATCH:补丁段表示错误修复

我在github上有一个项目。所以这是我的问题。

我什么时候更新我的版本号?

  • 当我上传一个新的更新时我会更新它吗
  • 完成添加/更改某些代码后是否更新它

我如何增加每个更改?

  • 我是否增加每个更改然后上传该版本号
  • 即使我做了一些更改,当我上传新更新时,我是否只说增量 1。假设我在上传时做了 10 个补丁,我只增加 1(基本上是说至少有 1 个更改)或全部 10 个。所以如果我在 1.0.0 并进行了 10 个更改,我是放 1.0.1 还是 1.0.10通过更新的最终版本

我要重置版本号吗?

  • 例如,我是否在增加 Minor/Major 后将 Patch 重置为 0
  • 我只是从不重置版本号吗

ava*_*esa 9

我什么时候更新版本号?

何时合适发布版本实际上由您决定,但您应该对此保持一致。如果您有项目的路线图,请考虑将多个相关功能分组为一个里程碑,并在完成这些功能后升级您的次要版本。只用每个新功能来提升次要版本也是有效的。

最重要的规则是,在不升级主要版本的情况下,不要对公共 API 进行重大更改。第二个最重要的规则是,在不增加版本号的情况下,不要引入任何更改。请参阅https://semver.org/上的常见问题解答

如果您只是修复错误或进行细微调整,请升级补丁版本。

如何增加每次更改?

这取决于您的工作流程以及您决定如何区分版本。一般来说,每次增加 1 是有意义的,但您可以在发布公共构建之前经历多个私有构建。由你决定。

请注意,如果您正在构建托管在 npm 或 crates.io 等网站上的库或项目,则需要在每次更新时更改版本。了解适用于您使用的任何语言的 semver 相关工具。

请注意,语义版本控制确实支持各种标签来识别项目的测试/beta/alpha 版本,请参阅规则 9 和 10。

我要重置版本号吗?

是的,当您升级次要版本时,您应该重置补丁号,当您升级主要版本时,您应该重置补丁和次要号。否则,随着项目的进展,您最终会得到大量的版本号。有关如何将优先级分配给版本号的信息,请参阅 semver 规则 11。