1.需求说明
一个项目,如果长期开发下去,我们会碰到各种各样的客户,然后就会有各种各样的需求。这时候就会出现一个问题:如果我们的代码都是一个项目,客户的主体流程都是一样,但部分客户又有一些特别的定制需求,所以如果都混在一起去维护。后期维护的复杂度各方位都会增加不少。
针对这种情况,我们如何解决?git这个工具,给了我们很大帮助。这个可以世界级开源平台GitHub和Gitee来看,我们就能一目了然。
2.需要具体实现的功能
2.1.清晰软件版本号
首先从日常系统维护来看,我们比较容易清楚来看到平常都更新或者是修复了哪些功能。
版本的命名规则:3.0.9.22.0128
主版本号.子版本号.阶段版本号.日期版本号
- 主版本号(1):当功能模块有较大的变动,比如增加多个模块或者整体架构发生变化。此版本号由项目决定是否修改。
- 子版本号(1):当功能有一定的增加或变化,比如增加了对权限控制、增加自定义视图等功能。(此版本号由项目决定是否修改)
- 阶段版本号(1):一般是 Bug 修复或是一些小的变动,要经常发布修订版,时间间隔不限,修复一个严重的bug即可发布一个修订版。(此版本号由项目经理决定是否修改)
- 日期版本号(051021):用于记录修改项目的当前日期,每天对项目的修改都需要更改日期版本号。(此版本号由开发人员决定是否修改)
2.2.每个版本解决了什么问题
新功能:
功能优化:
BUG修复:
我们每个版本,都可以把上面三个维度(新功能、功能优化、BUG修复)来描述我们的系统更新了什么。
2.3.Git打标签与版本控制规范
从开源的项目来看,我们可以看到,开源的项目都是经过一段时间的开发和测试稳定过后,就会发布稳定版本。这时候就会出现标签。
打标签的作用:就是给项目的开发节点,加上语义化的名字,也即功能版本的别名。 打上标签名的同时,写上附带信息,可以方便项目日后维护过程中的回溯和复查。 另外,也可以通过标签记录,大致了解当前项目的向下兼容性、API的修改和迭代情况。
3.具体实现
如何通过命令进行打标签,可以参考官方文档:Git - 打标签
我们这里来看看,一般我们在IDEA中的时候,是如何操作。
3.1.创建标签
在实际的使用过程中,我们会对当时的版本备份,但同时后期我们会有回滚的需求。
如果要从一个版本号回滚到一个新的分支,我们该如何操作。