软件版本编号遵循哪些规则?

T.T.T. 94 version-control

我一直在开发一些软件,并想给它版本号.

我该怎么做呢?

一些软件如何获得像1.3v1.1这样的两个版本

或者一些有3个数字 - 4.0.1

这一切背后的方法是什么?

谢谢.

小智.. 182

我见过的常用方法是XYZ,它通常对应major.minor.patch:

  • 只要引入了一些重大变化,主要版本号就会改变.例如,对软件包的大型或可能向后不兼容的更改.
  • 当引入新的次要功能或推出一组较小的功能时,次要版本号会更改.
  • 当向客户发布新的软件版本时,修补程序编号会发生变化.这通常用于小错误修复等.

其他变体使用构建号作为附加标识符.因此,如果您有许多在版本之间进行测试的修订版,那么XYZbuild可能会有很多.我使用了几个按年/月或年/发布标识的包.因此,2010年9月的发布可能是2010.9或2010.3,今年第3次发布.

版本控制有很多变种.这一切都归结为个人偏好.

对于"1.3v1.1",这可能是两个不同的内部产品,可能是与主产品不同的共享库/代码库; 这可能表示主产品的版本1.3,以及内部库/包的版本1.1.


Nick Pierpoi.. 50

您可能会发现语义版本控制规范很有用.

  • SemVer应成为建议的标准并以RFC格式重新发布. (2认同)
  • 至于如果您的代码不提供公共API,该怎么办,请参阅:http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning-apply-to-programs-without-api (2认同)

Stedy.. 13

维基百科有一个非常广泛的答案,可能是一个很好的起点

  • 实际上那篇文章编写得不是很好,但我现在有一个更好的主意,谢谢. (2认同)