软件代码版本控制
文章目录
一、目的
- 多个版本中可以并行开发
- 保证各个版本和各个环境(开发、测试、主干)的独立,避免相互影响
- 通过分支和主干的合并,这样主干永远是最新、最高版本,并且都在后面的测试中,保证了质量
- 用分支进行bug修改,而主干上进行新功能的开发。分支上的bug修改完合并到主干上
由于企业性质,统一用svn进行版本控制,上手比较快。
二、svn目录结构
2.1 Trunk(开发库)
主干目录,负责新功能的开发;
此目录下的文件为基准文件,防止稳定代码的主要环境;
开发人员日常开发的工作区,由开发者所控制
2.2 Branches(受控库)
测试版本代码存放的地方,需要开发组长提交测试申请修改;
用于开发的分支目录,修改当前发布版本的bug,与此同时主干上的开发正常进行,两边互不干扰;
当一个branch完成了,并且认为它足够稳定的时候,它必须合并回trunk;
2.3 Tags(产品库)
存放基线库、发布版,是测试通过版本存放的地方;
基线:就是给版本建立一个映像(或者叫快照),并不占用服务器物理磁盘;
这个文件夹下的内容通常只有配置管理员可以修改,其他人只读;
三、导入本地工程到svn
在工具栏上,点击vcs→import into version control→share project(subversion)。
选择要纳入版本控制的文件夹,然后commit提交。
一般提交src文件夹和pom文件。
注意:
不要提交target文件夹和idea生成的文件。
四、创建分支、工作副本切换、合并
分支是给源项目创建副本,让每个工作组在各自的副本上进行开发,最后再将各个工作组的副本合并到源项目中。在此,各个副本被称作分支(branches),源项目被称为主干(trunk)。
分支不是复制版本内容,而是做一个内部的引用,对服务器也没有空间上的开销。
3.1 创建分支
项目→右键→Subversion→Branch or Tag…
1 选择分支来源
2-3 勾选主干目录
4 勾选HEAD
5 选择分支存放的svn地方,勾选为branch目录
6 填写分支名称,命名规则(项目名称_日期_版本号)
7 填写提交记录
8 点击确定
3.2 切换分支
更新/切换svn的快捷键是ctrl+T,也可以点击工具栏,VCS→Update Project
- 勾选Update/Switch to specific url
- 选择切换的分支版本
点击ok即可,可在version control→subversion working copies information中查看是否切换成功。
如果点击更新不出现可选框,那就启用一下。
file→settings→version control→confirmation
3.3 合并分支
当branch版本已经修改和通过测试后可合并到trunk,可以合并整个项目也可以合并单个文件。
1、分支版本做了修改,添加了一行注释,提交svn
2、切换到trunk主干版本,在version control→subversion working copies information→merge from中勾选要合并的分支版本
可以整个项目合并也可以单个文件合并,这里选择人工单个文件合并。
3、建议合并后,再对trunk下对修改的内容进行测试,最好一个点一个点的进行测试,保证合并后的内容是稳定无误的。
四、标注tags
4.1 tags的定义规则
4.2 branches修复完bug,测试完成后,通过branches生成tags
- 选择分支版本
- 选择tags目录,并起一个唯一的名字,带版本号
- 输入版本注释