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,解决好冲突并提交

svn使用广泛,但是每个目录下都放一个.svn文件夹着实让我们复制起来很蛋疼

下面这条命令可以清除所有.svn文件夹

 

Posted in .