Version control 下一个软件版本号应该是什么?

Version control 下一个软件版本号应该是什么?,version-control,versioning,Version Control,Versioning,我目前的live应用程序是1.2.3 在内部,我发布了多达1.2.3.5的测试版本。我现在需要对生产应用程序进行紧急修复。理想情况下,这个版本应该是1.2.4,但会让人困惑,因为它应该有1.2.3.5之前的所有更改,而不会 我无法制作新的生产应用程序1.2.3.1,因为它已经在内部发布 我的应用程序的新版本号应该是什么 我会推荐类似于1.2.3更新1的东西。或者,1.2.3.0.1,尽管我个人认为四个以上的版本号是难看的,并且会与前者相配。Java也使用类似的措辞 正如您已经指出的,其他逻辑选项

我目前的live应用程序是1.2.3

在内部,我发布了多达1.2.3.5的测试版本。我现在需要对生产应用程序进行紧急修复。理想情况下,这个版本应该是1.2.4,但会让人困惑,因为它应该有1.2.3.5之前的所有更改,而不会

我无法制作新的生产应用程序1.2.3.1,因为它已经在内部发布


我的应用程序的新版本号应该是什么

我会推荐类似于
1.2.3更新1
的东西。或者,
1.2.3.0.1
,尽管我个人认为四个以上的版本号是难看的,并且会与前者相配。Java也使用类似的措辞

正如您已经指出的,其他逻辑选项与现有版本冲突,很有可能导致混淆



理想情况下,我会在
1.2.3
发布后立即开始在内部使用
1.2.4.x
,从而将
1.2.3.x
的其余部分保留为当前生产版本的带外更新。您可能希望在将来采用类似的方式来避免类似的冲突,但这确实是个人的偏好。

如果您在内部使用1.2.4.x,他们在稍后发布1.2.4的修复程序时也会遇到同样的问题。@rfsk2010可能我不清楚,但这不会发生。发布1.2.4后,下一个1.2.4.x编号将保留用于修复,内部编号将立即上移到1.2.5。我对我的措辞做了一些修改,希望能把这一点说清楚。让我说清楚,比如说1.2.3是活的。内部版本是1.2.4.x。然后,1.2.4开始运行。现在内部将是1.2.5.x。如果现在有1.2.4(live)的修复程序,您不能从1.2.4.1等开始,因为它在1.2.3上线之前就已经用完了。我一定错过了什么。在您的示例中,1.2.3是实时版本,而内部版本是1.2.4.x。然后1.2.4上线(假设当时的版本是1.2.4.7),未来的内部版本现在从1.2.5.x开始。实时版本的修复程序将继续从1.2.4.8ok向右编号。我唯一不喜欢的是,修复版本会跳到1.2.4.8,尽管它只是一个bug修复。但是发布版本已经增加了7倍。