我知道微软在版本控制中使用以下格式:主版本号.次版本号.生成号.修订号。
当“开发人员”想要展示软件有大幅度的变化并且无法保证向后兼容时,主版本号会被更改。这可能是对代码进行了重大的改写。
次版本号代表着显著的增强,旨在保持向后兼容性。
生成号表示小的变化,例如对同一源代码的重新编译。
修订号用于修复安全漏洞,应该完全可互换。生成号和修订号都是可选的。这些信息基于MSDN Version Class。
您是如何为自己的项目进行版本控制的?您采用这种方式的原因是什么?
我知道微软在版本控制中使用以下格式:主版本号.次版本号.生成号.修订号。
当“开发人员”想要展示软件有大幅度的变化并且无法保证向后兼容时,主版本号会被更改。这可能是对代码进行了重大的改写。
次版本号代表着显著的增强,旨在保持向后兼容性。
生成号表示小的变化,例如对同一源代码的重新编译。
修订号用于修复安全漏洞,应该完全可互换。生成号和修订号都是可选的。这些信息基于MSDN Version Class。
您是如何为自己的项目进行版本控制的?您采用这种方式的原因是什么?
在我工作的地方,我们通常使用主版本号.次版本号[.维护版本号[.构建版本号]]的格式,但似乎每个项目略有不同。
主/次版本号与你提到的相同。维护版本号会因小型(错误)修复而增加,构建版本号会在每次构建服务器运行时增加。
我经常看到Xyz,其中X是发布号后的年份,yz是该年份的月份。例如,201表示发布后的第2年的1月份。例如,产品在五月份发布,其第一个发布号为105。次年二月份发布的版本为202。
通常我们根据当前的发布日期(YYYY.MM.DD.*)对项目进行版本控制,并让构建号自动生成。例如,如果我们今天发布了一个版本,它将是2008.9.26.BUILD。
我使用major.minor.point.revision的版本号,其中point表示仅修复bug的发布版本,revision表示代码库的版本。这种方式简单易用且效果良好。
我只使用主版本号和次版本号。由于我是一个单独的开发者(偶尔会得到帮助),在开发一个大多数人并不关心小修复的 Web 应用程序时,我只需在添加新功能时迭代次要版本,并在进行重大更改/升级时使用主版本号。否则,对于版本号来说,我会忽略小修复(尽管如果需要自己参考,我会有 Subversion 修订号)。
我经常处理许多较小的项目,我个人发现这很有用。
PatchNumber.DateMonthYear
这是用于小型基于Web的工具,用户可以查看最后更新时间和更新频率。
PatchNumber是发布的版本数量,其余部分用于向用户展示发布日期。
主版本.次版本.补丁.构建 其中补丁是热修复或补丁发布。
如果您可以让QA参与并使用SVN,则可以将svn HEAD修订版作为构建号。这样,每个构建都描述了它来自源代码控制的位置以及构建中包含的内容。这意味着您将拥有具有间隔的构建(1.0.0.1、1.0.0.34...)
Major.Minor.BugFix.SVNRevision
例如:3.5.2.31578
我只有一个数字。第一版是001
。第二版的第三个测试版是002b3
,以此类推。这只是为了个人使用,目前我实际上没有任何“发布”的东西,所以这都是理论。