Subversion
subversion简称svn,svn和git是常用的版本控制工具,用于多人并行开发,项目管理
目录结构
一般来说,一个项目的svn目录下会有trunk,branches,tags三个文件夹
trunk
主干,大部分人,大部分功能都在此开发
branches
分支,有大改动,或者需要bugfix时,从trunk或者tag上拉分支开发
tags
标签,此目录只允许添加,不允许修改
一般是打包前从trunk或者branch上拉tag
用于2个版本diff和问题追查
流程
主干开发
- 所有人员在trunk开发
- 提交前先更新,解决好代码冲突
分支开发
- 从trunk上拉branch,部分人员在branch上开发
- 开发完成后,如需分支上线,则从分支拉tag
- 如需要合并到主干,提交后,切换到主干,然后merge from branch,解决好冲突再提交
发布版本
- 从trunk或者branch上拉tag,tag路径上最好带上版本号
- check out tag并发布/使用自动化工具发布,如Jenkins
bugfix
- 从tag上拉branch,branch路径最好能体现版本号及用途(如bugfix_1.0.1.2)
- 参与bugfix的人员在branch上开发
- bugfix完成后,版本号上升,按发布版本流程
- 切换到主干,然后merge from tag,解决好冲突并提交