1.目的
本文主要针对本人最近项目过程中多分支并行开发,代码合并后可能出现最新代码遗失、被覆盖和版本管理不完善等问题,结合优秀开源项目(主要是Cassandra)版本管理经验,优化项目的版本管理方法,为自己以后的软件项目提供版本规范和指导。
2.说明
根据我们现有项目的经验,项目第1版都在trunk下开发,此时几乎不需要版本管理。等第1版测试通过上线后,由于运维期间的bug、新需求和新增业务等原因,会存在多个分支并行开发且需要合并到一起的情况,为了不使最新代码遗失、被覆盖,此时版本管理就显得特别重要了。而本文档主要为这期间的版本管理提供指导。
3.前提
所有项目的版本号命名格式均采用GNU风格,即:主版本号.子版本号.修正版本号-编译版本号,如1.2.1- build13124。我们主要使用“主版本号.子版本号.修正版本号”格式,即1.2.1。
4.规范
1. 项目初版本时,主版本号从1开始,以后遇到重大变更依次累加。
2. 子版本号采用当月月份号,依次累加(如果今天是20130912,项目
建立时的版本号为1.9.0,到20140112,则版本号为1.13.0)。如果主版本号改变,子版本号采用当月月份号(如果今天是20140112,当前项目版本号为1.13.1,现在主版本号要改变,那新的版本号为2.1.0)。子版本号每月改变一次。
3. 修订版本号按当天是这月的第几周而定(如果今天是20130912,是这个月的第