SVN版本控制—branches、trunk、tag篇
新建SVN资源仓库
新建资源仓库时,可选择默认创建三个文件夹。这三个文件夹分别是【trunk】【branches】【tags】
truck(主干|主线|主分支):是用来做主方向开发的,新功能的开发应放在主线中,当模块开发完成后,需要修改,就用branch。
branches(分支):分支开发和主线开发是可以同时进行的,也就是并行开发,分支通常用于修复bug时使用
tag(标记):用于标记某个可用的版本,可以标记已经上线发布的版本,也可以标记正在测试的版本,通常是只读的
Trunk (主干|主线|主分支)
一般用于存放当前项目主线,也就是项目所有功能模块的集合体,一整个项目所有代码库。一般来说,存放在trunk中的代码都是稳定可正常运行的。
Branches (分支)
分支,其实也就是主线的拷贝,主要应用于在项目需要有新的开发时,不针对主线进行,而是在主线的基础上,拷贝一份或者多份。针对每个模块小组,均可根据自己的开发情况,创建自己的分支进行开发,最后将分支一起合并到trunk上来,从而最后合并为一个项目。
分支存在的意义就在于保证主线稳定版代码和新需求开发版代码的间的独立。目前在svn的使用上,最大的问题就是没有建立各自项目组的分支,所有模块均集中对trunk中主线进行操作。就像测试时直接操作生产数据库一样可怕,因为木有备份,出问题了恢复就比较麻烦。
Tags (标记)
标记是主线中一个特定版本的定型版。比如一个系统1.0开发完成,就会将主线的代码打一个tag,标记1.0开发完成。所以Tags中的代码只读的,也就是tags中的版本是不允许再动了。
创建 branch(分支)
1、选择trunk中需要创建分支的主线文件夹,右击如下,选择Branch/tag:
2、填写新分支信息
- 选择branches,点击确定,相当于创建路径到branches文件夹下了,然后在后面补充新branches的名称
,如/branches/demo2018-01-31
,
- 版本号一般情况下选择是当前最新版本。除非你不是以当前最新版本的,而是以之前的某个版本为准的。
3、分支创建完毕,继续在trunk(主分支)上做开发,如果发现正在使用的demo2018-01-31
版本出现bug了,可以切换到分支/branches/demo2018-01-31
上,进行代码的更新提交而不对trunk(主分支)造成任何改动。
4、最后还可通过版本分支图查看各个版本分支记录,定位分支从哪一版本分出去的,当前只做了一个分支,如下:
创建 Tags (标记)
创建tag和分支的流程完全一致,唯一不同的便是填写不同的URL路径
创建成功后,查看服务端仓库,Tag 建立完成如下图: