关于SVN的目录结构 and 使用的简单说明

SVN库的目录结构每个项目建一个SVN库

主要的开发工作放在trunk,分支放在branches,发布版本放在tags(不允许修改)。

SVN库
┠tags(发布)
   ├1.1
   ├1.2
   ├1.5
┠trunk (主版本)
   └ proj
          ├src
          ├classes
          └WEB-INF
┖branches (分支)
        └分支
 
■按照开发时间的顺序说明如下:
△1.0开发完毕,代码 冻结
基于已经冻结的trunk,为release1.0打tag
此时的目录结构为
 
SVN库
┠tags
   ├tag_release_1.0 (copy from trunk)
┠trunk( dev 1.0 )
   └ proj
          ├src
          ├classes
          └WEB-INF
┖branches
 
△2.0 开始开发,trunk此时为2.0的开发版
发现1.0有bug,需要修改,基于1.0的tag做branch
此时的目录结构 为
 
SVN库
┠tags
   ├tag_release_1.0 (copy from trunk)
┠trunk( dev 2.0 )
   └ proj
          ├src
          ├classes
          └WEB-INF
┖branches
   └ dev_1.0_bugfix (copy from tag/release_1.0)
 
△在1.0 bugfix branch进行1.0 bugfix开发,在trunk进行2.0开发
△在1.0 bugfix 完成之后,基于dev_1.0_bugfix的branch做release等
根据需要选择性的把 dev_1.0_bugfix这个分支merge回trunk(什么时候进行这步操作,要根据具体情况)
 
每个项目建一个SVN库,为什么?
因为SVN是全局版本,假如SVN库是如下结构:
 
SVN库 <全局版本 1.1>
┠ 项目A <1.1>
┖ 项目B <1.1>
 
这就会导致任何一个项目修改,影响全局版本修改,不能真实反映单个项目的版本情况。
 

 

你可能感兴趣的:(SVN,职场,目录结构,休闲)