在开发的过程中,版本号要如何进行变更呢?Maven是否有潜在的约定?如何管理github中的代码?

Maven版本约定

在开发的过程中,下载jar包的时候经常会发现某个jar类似这样:**-1.2.3-beat-4.jar。

下面来解释一下,这里每个数字的含义:

  • 1 : 表示该版本的第一个重大版本
  • 2 : 表示这是基于重大版本的第二个次要版本
  • 3 : 表示该次要版本的第三个增量
  • beat-4 : 表示该增量的一个里程碑

用一个图来描述:

< 主版本 >------< 次版本 > ------ < 增量版本 > ------ < 里程碑版本 >
  • 主版本:表示了项目的重大架构变更 struts1 – struts2
  • 次版本:表示较大范围的功能增加和变化 Nexus1.5 – Nexus1.4
  • 增量版本:一般表示重大Bug修复
  • 里程碑版本:指某一个版本的里程碑 .-alpha-1 .-beat-1

一般来说,我们只会声明主版本和次版本,增量版本和里程碑版本就不一定了。

注:maven中约定的版本次序:

对于主版本、次版本、增量版本来说他们的比较是基于数字的,因此:1.5>1.4>1.3>1.2.11>1.2.8

对于里程碑版本来说,比较是基于字符串的,因此:1.5>1.4>1.3>1.2.3>1.2.11

主干、分支、标签

  • 主干: 项目开发代码的主体,是从项目开始到当前都处于活动的状态,从这里可以获得项目最新的源代码和几乎所有的变更历史
  • 分支: 从主干的某个点分离出来的代码拷贝,通常可以在不影响主干的前提下,在这里进行重大的bug修复或者实验性质的开发,如果达到了预期的目的,通常将这里的变更合并到主干中去。
  • 标签: 用来标识主干或者分支的某个点的状态,以代表项目的某个稳定状态,也就是通常说的发布状态

这三个元素,可以清晰的描述出项目的版本管理,而且也已经成了一个默认的行业标准。

完毕。