version-control - 我应该如何/何时更新版本号?
问题描述
因此,对于更多上下文,我使用此版本编号系统
版本顺序:MAJOR.MINOR.PATCH
- MAJOR:主要部分表示 API 中断
- MINOR:次要部分表示“外部可见”的变化
- PATCH:补丁段表示错误修复
我在github上有一个项目。所以这是我的问题。
我什么时候更新我的版本号?
- 上传新更新时是否会更新它
- 完成添加/更改某些代码后是否更新它
如何增加每次更改?
- 我是否增加每个更改然后上传该版本号
- 即使我做了一些更改,当我上传新更新时,我是否说只增加 1。假设我在上传时做了 10 个补丁,我只增加 1(基本上是说至少有 1 个更改)还是全部 10 个。所以如果我在 1.0.0 并进行了 10 个更改,我是放 1.0.1 还是 1.0.10通过更新的最终版本
我要重置版本号吗?
- 例如,在我增加 Minor/Major 后我是否将 Patch 重置为 0
- 我只是从不重置版本号吗
解决方案
我什么时候更新我的版本号?
何时适合发布版本完全由您决定,但您应该对此保持一致。如果您的项目有路线图,请考虑将多个相关功能分组为一个里程碑,并在完成这些功能后提升您的次要版本。使用每个新功能来提升次要版本也是有效的。
最重要的规则是不要在不影响主要版本的情况下对公共 API 进行重大更改。第二个最重要的规则是在不增加一些版本号的情况下不要引入任何更改。请参阅https://semver.org/上的常见问题解答
如果您只是修复错误或进行细微调整,请升级补丁版本。
如何增加每次更改?
这取决于您的工作流程,以及您决定如何区分版本。通常,每次只增加 1 是有意义的,但您可以在发布公共构建之前经历多个私有构建。由你决定。
请注意,如果您正在构建托管在 npm 或 crates.io 上的库或项目,则需要在每次更新时更改版本。了解适用于您使用的任何语言的与 semver 相关的工具。
请注意,语义版本控制确实支持各种标签来识别项目的测试/beta/alpha 版本,请参阅规则 9 和 10。
我要重置版本号吗?
是的,你应该在升级次要版本时重置补丁号,在升级主要版本时应该重置补丁和次要号。否则,随着项目的进展,您最终会得到大量的版本号。有关如何将优先级分配给版本号的信息,请参阅 semver 规则 11。
推荐阅读
- r - 编织完成后上传文件
- javascript - Laravel:使用 npm 包 - ReferenceError
- java - 如何通过网关访问微服务的 Socket
- reactjs - React redux mapStateToProps - 无法作为道具访问状态
- c - execvp 命令未运行 ls -l *.c
- vb.net - vb.net 能否支持 Chromium 引擎?
- imgur - Imgur 访问令牌过期时间这么长(315360000 秒还是毫秒?)
- nginx - nginx:服务器没有处理程序
- vuejs2 - 如何使用代理处理 vue cli 开发服务器中的重定向?
- c# - C#、WinForms 和应用程序图标