我知道关于软件版本控制没有固定的规则,但是我有几个问题。
1)如何正确升级版本
我有一个小软件,我启动了一段时间了,从零开始,我开始使用0.1版本。
随着我添加了更多的功能,我一直在升级这个次要的数字。现在我的版本是0.5.7(针对新函数(.5)和用于bug修复和小更改的修订版(.7) ),问题是该程序几乎完成了发行版,但现在我“缺少”了几个次要版本,你们是如何处理这种情况的?你只是简单地跳过数字吗?
这就引出了第二个问题。
2),它是一个很好的起始版本号
我要开始一个新项目了。这一次并不是那么小的一个项目,将是公开的和免费的修改,我不想有上述问题。那哪个是个好的起点呢?
奖金问题:
3) 10以上的数字可以吗?比如v1.25或v2.2.3?
我还没有见过有这种编号的软件(可能他们只在帮助部分或他们的网页中显示),我也知道没有这样的规则,但是似乎对于如何保留版本号有一个普遍的同意。
发布于 2010-07-31 10:33:02
有时版本编号策略可能有点疯狂(请参阅版本号和JSR277或甲骨文,其OracleDatabase11g发行版2:11.2.0.1.0 )。
另见软件版本控制是荒谬的。)。
但是你可以先把Eclipse版本号策略看作是一个好的开始。
如果您真的认为您需要三位以上的数字,那么这个维修流交付车辆术语说明也很有趣,但是对于POT1.0软件来说就更有趣了,在这里,修复包和临时修复是合适的。
1/“已装船”:1.0.0
也被称为"1.oh-oh“版本。至少,它是存在的,你可以开始得到反馈和快速迭代。
2/ 0.x (如果主要功能仍然缺失);如果主要特性存在,则为1.0.0。
是的,但我要说的是,只适用于寿命超过几年的大型项目(通常为十年)。
请注意,“正确”(在语义版本2.0.0中被描述为较长的部分)也可以由更实际的因素来指导:
发布候选版本Git1.9-Rc2现在可以在通常的地方进行测试。我听到传言说各种第三方工具不喜欢两位数的版本号。(“Git2.0”),当用户安装v1.9-rc1时,开始向左和右发送。 虽然嘲笑他们轻率的假设是很有诱惑力的,但我也很实际,我不介意用即将发布的版本v1.9.0来帮助他们。如果我们走这条路线(我现在倾向于走这条路线),版本控制方案将是:
v1.9.0-rc3,而不是v1.9-rc3;v1.9.0的第一个维护版本是v1.9.1 (第一个版本是v1.9.N);更新2019年2月:语义本身即将发展(再次,在semver2之后)。
发布于 2016-12-03 13:32:27
在我们公司,我们使用四个令牌版本控制概念。就像a.b.c.d那样:
(major).(feature).(revision).(bug/refactoring)它与我们在开发生命周期中使用的问题类型有关。我们可以一目了然地跟踪在以下两个版本之间做了什么或更改了什么。通过比较以下两个版本号,您可以识别问题的编号和类型。有关更多信息,请访问完整的文件在这里。
发布于 2015-11-16 13:30:29
即使是在使用CRM开发时,我也面临着定义版本号的问题,因为我希望在所有系统上部署相同的构建。我找到了一种用系统值+手动+随机的方法来解决这个问题。
程序集的版本信息由以下四个值组成:
主要版本。次要版本。版本号为。修订版
默认情况下,初始版本为1.0.0.0。更有意义的是,我用
TFS发布。TFS Sprint .变更号。递增的生成号
假设在您的TFS中,单个发行版包含30个sprint,然后发行版变为2,那么第一个发行版的值将是:
TFS发布:1
如果当前sprint为4,则TFS Sprint将具有
TFS Sprint:4
现在,第三部分由开发人员管理,对于初始版本,我们可以得到0,它可以为每个ChangeRequest或BugFix增加+1。
更改编号:0-表示初始版本更改编号:1-表示更改更改Number: 2-表示错误修复
尽管对于每个错误修复,代码可能都会发生更改,因此它将代码更改表示为默认值。但更有意义的是,您可以使用奇数表示更改,偶数表示错误修复。
最后一部分是默认的编号,谢天谢地,.Net允许我们放置*来放置一个默认的构建号。如果其他人对编译/生成进行更改,则它将不断增加,每次编译/生成都会提供签名标记。
如何实现:
在“属性”文件夹中打开AssemblyInfo.cs并注释AssemblyFileVersion,这将使AssemblyFileVersion & AssemblyVersion保持不变。
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.4.2.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]因此,最终版本将是:1.4.2.4512或其他什么
这种方法的好处是您可以跟踪生成代码的任务。只要看一下版本号,我就可以说,“嘿,它是sprint 4的第1版,并进行了一些代码修改。
https://stackoverflow.com/questions/3377655
复制相似问题