SVN 目录使用规范

SVN 目录使用规范。

规范 1(推荐)

目录名称说明
trunktrunk 是树干,主分支,日常开发进行的地方。
branchesbranches 是分支。是用来做并行开发的,这里的并行是指和 trunk 进行比较,完成后一般会被合并到 trunk 中。一般有 3 类:【1.】一些阶段性的 release 版本,这些版本是可以继续进行开发和维护的,如 2.1 或 2.x ( 2 系列版本的最新代码)。【2.】为不同用户客制化的版本,也可以放在分支中进行开发,如 2.2_dev 。【3.】某个版本的 bug 修复,如: 2.1_bugfix 。
tagstags 是标记,一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档,如: 2.1 ,2.1.1 。

规范 2

目录名称稳定程度权限说明
branches开发分支,不稳定开发 team 有权限有开发任务时,从 trunk 打分支到 branches ,分支命名以日期为前缀,如: 20170101 ,可再加上_本次分支主要内容,如: _monitor 。(如果 trunk 分支在测试且证明极度不稳定,想取稳定分支,从 tags 取)。开发且自测完成时,由研发 Leader 合并到主干 trunk ,测试从 trunk 发包进行测试。一般有 3 类:1.】准备发布的分支(进行生产环境的测试、准备) Release Branch ,如 BUG-1.0_235 (copy from tag/tag_release_1.0 , bug 版本号为 235)。【2.】Bug 修复的分支(进行某编号的 bug 修复) Bug fix branch ,如 RB-1.1 (1.1 版本的 Release Branch)。【3.】新技术实验性分支(将某个新技术引进项目) Experimental branch ,如 TRY-1.0_PHP7 (copy from tag/tag_release_1.0 ,PHP7 实验技术)。这些都要根据需要最终 merge 到 trunk 里面。
trunk主干分支,趋于稳定开发 Leader 有权限最新趋于稳定版本代码存放地。开发 Leader 有权限从开发分支 merge 代码到主干,然后质量部进行测试,测试通过由运维部打上线分支到 tags 。研发 leader 要控制 trunk 的时序性。(也就是说尽量避免一个 brances 合并到 trunk 进行测试之后,在没有完成测试前又合并一个分支,导致测试返工。)
tags上线分支,稳定运维有权限方便回滚和记录。以版本号命名,如 1.1、1.2 。

扫码关注微信公众号 程序员 35 ,获取最新技术干货,畅聊 #程序员的 35,35 的程序员# 。独立站点:https://cxy35.com

介绍SVN各个目录使用规范 Svn目录使用规范 TortoiseSVN客户端工具 选择创建SVN目录结构的选项(生成trunk、branches、tags目录),如下图: 1、 trunk是主分支,是日常开发进行的地方。 2、branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。 3、tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。 注:在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trunk上时创建个版本标识 Trunk目录:Doc(文档库,放项目相关文档类)、sourcecede(代码库) Doc目录下按项目存放文档,以下以proj1为例做说明 Proj1----项目名 1、Controlled------组织级scm建一个名为controlled的目录,当项目某文档通过评审后,组织级scm从项目目录下找到那文档,复制到controlled目录下。(一般用不到) 2、Develop---开发文档 2.1、Design----设计文档 2.1.1、DbDesign---数据库设计文档 2.1.2、HLD---概要设计 2.1.3、InterfaceDesign---接口设计 2.1.4、ServiceDesign---服务设计 2.2、REQ---需求文档 2.3、SRS---软件需求规格说明 2.4、Test---测试文档 2.4.1、Review---可空 2.4.2、TestCese---测试用例 2.4.3、TestDoc---测试文档 2.4.4、TestEnv---测试环境说明 2.4.5、TestReport---测试报告 3、Document---项目文档 4、Management---管理文档 4.1、Meetings--会议纪要 4.2、PIM--- 4.3、Plan---计划 4.3.1、review 4.3.2、SDP---软件开发策划文档 4.3.3、SPP---软件项目策划文档 4.4、report---报告 4.4.1、Milestonereport---版本报告 4.4.2、ProjectTrackReport---项目跟踪报告 4..4.3、SCM---软件配置管理文档  4.4.4、SQA---软件质量保证计划 4.4.5、项目周报 4.5、Sow---工作说明书 4.6、Summarize---总结 4.7、Template---模板 4.8、Trainning---培训文档 打标签/分支有两种方式: 1、选中项目,就是trunk下的本地项目,右击,选中Branch/Tag,出现如下对话框。 下图中的配置完成了之后,点击OK即可完成“打标签/分支”。 2、直接在SVN上在对应的标签/分支目录下创建对应的版本文件夹,将trunk下稳定版本的代码直接copy到对应的文件目录下即可。
[本地工作区] :work copy ,本地工作副本; [主项目]:引用共用模块的新项目(工程) 最新版本(HEAD revision):版本库里文件或目录的最新版本 SA :SVN服务器的管理员 PRA :单个项目库的管理员,或者是项目负责人 User :普通工作人员 WC :work copy ,本地工作副本 1. 版本控制原则 SVN(或者其他版本控制软件)只是一个版本控制的辅助工具,不可能把所有的问题都自动解决掉。尤其,对于冲突这个麻烦事儿,项目成员在项目进程中要尽量通过优化流程来解决,而不是将希望寄托于软件工具来自动解决一切问题。 建议的开发过程组织: 1. 随行就市 项目刚开始阶段,单独开发;项目稳定阶段,完整开发。项目开发初期,各个项目成员负责自己的文件夹(或者模块),与SVN服务器间的更新、提交等操作只需要针对自己负责的文件夹(或者模块)就行了,他人的文件夹(或者模块)可以不必关心;项目稳定阶段,也就是每天的变更量很小了,所有项目成员与SVN服务器的更新、提交等操作需要针对项目的所有文件夹(或者模块),各个项目成员在其本地编译时本地工作区的全部项目程序(或者资料)均为最新的版本,保证项目作为整体能够顺利运行。 2. 能躲就躲 尽量保证一份文件只有一个项目成员在编辑。举例说明:程序员A负责底层中文件 DBAccess.cs的编写,如果程序员B的工作要求他为DBAccess.cs增加两个方法,程序员B应该通知程序员A来增加而不是自己增加;如果此时A非常繁忙需要B自己增加,就需要B先更新本地的DBAccess.cs,然后开始修改,修改完成后立即提交并通知A更新本地的文件,通过缩短提交间隔来减少冲突。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值