■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> 这就会导致任何一个项目修改,影响全局版本修改,不能真实反映单个项目的版本情况。
本文出自 “道可道非常道” 博客,请务必保留此出处http://sontou.blog.51cto.com/2636886/552391