文档库 最新最全的文档下载
当前位置:文档库 › 开发部SVN使用规范-修订版

开发部SVN使用规范-修订版

开发部SVN使用规范-修订版
开发部SVN使用规范-修订版

北京迪科创新科技有限公司

一卡通项目研发部SVN使用规范

拟制张磊日期2015-03-09 审核日期

批准日期

1、目的:

本制度为研发部SVN 配置管理的准则和依据,所有与SVN 配置管理的行为都必须遵照并服从于本制度。

2、适用范围:

本制度适用于研发部全体员工。

3、控制要求和方法:

3.1 操作流程

首先用户从svn 版本库通过网络“检出”到本地工作副本中,然后,在本地工作副本中进行增加、修改、删除文件后“提交”到版本库中,如果本地工作副本中版本较系统版本过时,用户使用“更新”功能与系统上版本保持一致。

3.2 帐号注册、权限申请

1. 用户帐号注册:新进员工没有SVN 帐号,通过联系SVN 管理员,注明申请SVN 普

通帐号,管理员处理完帐号注册事宜后,通知使用并介绍使用规范。

注:普通帐号,只对目录有读取权限,无法更改。

2. 权限的申请: 根据员工所参与的项目,SVN 管理员对其开放相应目录的读、写权限。

3. 账号注销:员工离职后,对其账号进行注销。

Workin g Copy

Workin g

Copy

Repository

Network

版本库

网络

本地工作副本

检出、提交

3.3 操作规范

1.每日进行开发工作之前更新代码,下班时提交代码。

2.各员工需牢记各自的账户和密码,不得向他人透漏,严禁使用他人账户进行SVN各项

操作。

3.不要签出整个目录,除非特别必要,不应同时签出过多的项目。

4.文件提交时要求必须提交注释,注明相关修改信息,日志信息描述的越详细越好,让项

目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。

5.代码变动及时提交,避免丢失本地修改后无法恢复。

6.在提交之前要编译代码并修正错误。要保证新增加的文件同时被提交,否则只在你本地

能正常工作,导致其它人不能编译通过。

7.提交之前要测试所改变的应用,测试改变后的效果是否达到预期的目的。

8.多次检查提交的内容。提交之前应先做SVN更新或与资源库同步,注意到SVN关于冲

突、错误的信息。资源库同步会告诉你将要提交的内容与资源库内容之间的差别,确认它们是不是你真正想要提交的。

9.如果别人和自己更改的是同一个文件,那么Update时会自动进行合并,如果修改的是

同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。

10.在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并

且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。

11.提前宣布修改计划。当你计划进行修改,需要影响到SVN里的许多文件时,先通过邮

件或者当面通知其他开发者。例如,修改底层数据库模块时,有可能影响到业务逻辑层调用数据库模块的地方。这样其他开发者会有准备,也会对修改提出意见和建议。

12.每次提交尽量是一个最小粒度的修改。比如一个小功能提交一次。

13.不要提交不能通过编译的代码。代码在提交之前,首先要确认自己能够在本地编译。如

果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。

14.提交时注意不要提交本地自动生成的文件,提交的文件必须是开发者共用的程序文件,

程序编译中产生的中间文件或文件夹,如/Debug/、/Release/、*.ncb、*.obj、*.o、Thumbs.db、

/build/、*.class、/classes/、/data/等不要提交到SVN里。

15.SVN管理员需对SVN的所有项目定期备份。

16.SVN的资料不允许公开给其他部门人员,确实要分发的,必须通过总经理同意。

重要说明文件要求:

硬件开发:

修改日志文件与版本文件(未修改可不写),需求分析书、源代码文件、PCB原理图、料单、技术规格书、生产测试说明书,相关开发技术文档入库。

软件开发:

源代码文件(含数据库创建脚本(含静态数据))、编译构建脚本和所有源代码、修改日志与版本文件,需求分析书、技术规格书、测试重点说明书、使用手册(包含安装使用)、使用demo与测试相关工具等文件。

测试部门:

测试计划、测试用例、测试bug问题单、阶段性测试报告、问题反馈修改单、最终测试报告单、版本发布说明书,用户手册。

以上文件请开发部门领导与人员督促准备与提交。

2015年svn目录备份设计意见:

新项目软硬件相关源代码第一级目录:(2015项目)===》第二级目录包含:项目库、产品库、代码库

1、项目库包括:以DK01_合同号+用户名称为前缀的版本库为产品库,用于存放与对应产

品有关的资料、文档、设计资源等等

2、产品库:以产品名称为前缀的版本库为产品库,用于存放与对应产品有关的资料、文档、

设计资源等等

以“一卡通综合消费5.2系统”为例,产品库的目录结构如下图所示。

●00产品培育:该目录用于存放产品开发前期的需求收集以及产品定义阶段所产生

的文档。

●01产品设计:该目录用于存放产品的需求说明书、交互原型等相关资料。

●02产品实现:该目录用于存放静态页面、UI界面、代码技术文档等相关资料。

●03产品稳定:该目录用于存放测试工作输出的相关文档资料。

●04版本发布:该目录用于存放产品各个版本的发布包、安装程序等。

3、代码库:以(software)、(hardware)、(AFCware)、(Custom requirements定制需求)

以用于存放产品和项目的源码及配置文件等资源

代码库的目录结构要遵循SVN标准的版本库布局,在库的根目录下应包含“software”、

“hardware”、“AFCware”三个子目录。

●hardware:自主软件产品源代码

hardware下项目命名规则:合同号+软件名称

项目内容包含:1、修改日志文件与版本文件(未修改可不写)

2、需求分析书

3、源代码文件

4、PCB原理图

5、料单

6、技术规格书

7、生产测试说明书

8、相关开发技术文档入库

●software:自主硬件产品源代码

software下项目命名规则:合同号+软件名称

项目内容包含:1、源代码文件(含数据库创建脚本(含静态数据))

2、编译构建脚本和所有源代码

3、修改日志与版本文件、

4、需求分析书

5、技术规格书

6、测试重点说明书

7、使用手册(包含安装使用)

8、使用demo与测试相关工具等文件

●AFCware:自主地铁相关项目程序源码。

AFCware下项目命名规则:合同号+软件名称

项目内容包含:1、修改日志文件与版本文件(未修改可不写)

2、需求分析书

3、源代码文件

4、PCB原理图

5、料单

6、技术规格书

7、生产测试说明书

8、相关开发技术文档入库

●(hardware Custom requirements软件定制需求):用于存放有特殊需求的的客户

程序文件

项目内容包含:1、修改日志文件与版本文件(未修改可不写)

2、需求分析书

3、源代码文件

4、PCB原理图

5、料单

6、技术规格书

7、生产测试说明书

8、相关开发技术文档入库

●(software Custom requirements硬件定制需求):用于存放有特殊需求的的客户

程序文件

项目内容包含:1、源代码文件(含数据库创建脚本(含静态数据))

2、编译构建脚本和所有源代码

3、修改日志与版本文件、

4、需求分析书

5、技术规格书

6、测试重点说明书

7、使用手册(包含安装使用)

8、使用demo与测试相关工具等文件

2015年3月9日星期一

拟定人:张磊

SVN使用规范_详细讲解

目录 第一章引言 (1) 1.1Subversion的介绍 (1) 1.2Subversion的特性 (1) 1.3SVN模式 (2) 1.4SVN操作流程 (3) 第二章SVN使用 (4) 2.1SVN软件安装 (4) 2.2事业部SVN库介绍 (4) 2.2.1事业部SVN库 (4) 2.2.2注册、权限申请 (5) 2.3基本操作 (5) 2.3.1操作介绍 (5) 2.4系统规使用 (18) 2.4.1规操作 (18) 2.4.2版本控制的使用 (19) 2.4.3与目录无关容 (19) 2.4.4文件夹目录名称规 (20) 2.4.5文件上传格式 (21) 2.4.6文件、数据放置 (21) 2.5日常使用问题 (21) 2.5.1版本库无响应 (21) 2.5.2中的路径 (21) 2.5.3系统库最上层打不开 (22) 2.5.4提交失败(Commit fail) (22) 2.5.5SVN文件夹无法下载 (23) 2.5.6特征图标的显示 (23) 2.5.7冲突问题解决 (24) 第三章权限申请流程 (26) 3.1权限定义 (26) 3.2申请流程 (26) 3.2.1普通权限申请 (26) 3.2.2单位权限申请 (26) 3.2.3特殊权限申请 (27)

3.3表单使用 (28) 附录 (1) 参考文献 (5)

SVN使用规 第一章引言 1.1Subversion的介绍 SVN是Subversion的缩写。Subversion管理随时改动的文件和目录,以二进制格式存储所有的文件,使用高效的比较二进制差异算法来计算版本之间的改动。同时,它是一个时间机器,随时记录文件和目录的每次改动,例如:文件的增加、删除、重新排列文件等。同时SVN允许你恢复以前旧版本的数据,或者检查数据变化的历史。 SVN使用类似数据库事物的方式来处理用户提交入库的过程,整个改动要么成功的被提交,要么被中断并回滚。在数据提交完之前,其他人是看不到用户提交的修改文件,你看到的要么是改动之前的状态,要么是改动之后的状态。这样的行为被称为“原子提交”。原子提交很有用,因为它能保证所有相关人员看到的总是相同的东西。原子提交过程的其中一步就是包括把你的所有改动打包为一个“修订集”(有时被称为改动集),并且再给个改动标记的修订号(绿色勾变为红色叹号)。 1.2Subversion的特性 1.2.1 版本化的目录 Subversion实现了一个可以跟踪目录树更改的“虚拟”版本化文件系统,文件和目录都是有版本的。 1.2.2 真实的版本历史 通过Subversion你可以对文件或是目录进行增加、拷贝和改名操作,也可以新增一个具有干净历史的文件。可以毫不夸的将每一个版本都可以作为一个记忆片段定点。 1.2.3 原子提交

TortoiseSVN使用说明书(超详细)

一、TortoiseSVN客户端的安装 1.客户端软件:TortoiseSVN-1.7.12.24070-win32-svn-1.7.9.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端 中文语言包:LanguagePack_1.7.12.24070-win32-zh_CN.msi 下载:\\10.0.0.127\share\SVN\SVN 客户端\语言包 (客户端安装在系统的默认位置,不需要特殊的配置,安装完成后需要重新起动系统, 重启之后鼠标的右键菜单会多出这么一组命令) 2. 中文语言包的安装如下:

二、Subversion基本工作流程 这部分最重要,也是大家经常要用到的,即如何利用TortoiseSVN客户端对subversion库中的文件进行操作。 1.如何把subversion库中已经保存的文件版本检出到本地、并作修改后提交、从服务器端更新本地文件的版本。 检出到本地: 初次检出到本地文件夹时,在本地新建一个空文件夹,具体操作如下图: 如果要检出最新的版本可选中上图的(最新版本(H))单选按钮。 如果想检出自己需要的版本可选中上图的(版本(R))单选按钮,然后选择自己需要的版本文件。 在弹出的对话框中输入自己的用户名和密码。

修改文件后提交:(修改文件夹中的内容后文件夹会自动变成带有红色标记) 在信息框中为修改的文件添加说明信息。如下图 在变更列表中选中更变的文件。如下图

点击确定后会提示输入用户名和密码。

从服务器端更新本地文件的版本: 如果服务器上的版本库已经是第7版本,自己本机的版本还是第1版本。这时你可以更新自己本地的版本为第7版本。

SVN使用手册(最全版)

SVN环境搭建及使用手册 一、SVN介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 二、SVN安装包介绍(安装包存放在服务器上D:\安装包\SVN) 服务端:SVN服务端安装包是VisualSVN-Server-3.6.0-x64.msi。 客户端:客户端软件主要包括下列3个文件 1. TortoiseSVN-1.8.8.25755-x64-svn-1.8.10.msi ----SVN客户端安装包 2. LanguagePack_1.9.5.27581-x64-zh_CN.msi ----SVN客户端语言包 3. AnkhSvn-2.5.12471.17.msi -----SVN针对Visual Studio的插件 三、搭建SVN服务端详细说明 第一步:搭建SVN团队项目、在服务器上打开已安装的SVN服务端、新建一个项目文件夹、创建完成后、右键项目复制项目URL 具体如下图

第二步:创建SVN用户、及设置密码、如下图 第三步:SVN服务端创建项目完成及创建用户后、使用SVN客户端将程序代码等文件提交上去、选中需要提交的程序文件、并填写正确SVN服务端项目的URL地址、

四、在日常开发中使用SVN的常用操作主要有:签出程序、文件合并、代码文件撤销、版本回滚、及历史版本控制等 说明:使用SVN版本控制,必须遵循4个原则。 1.新建文件前获取最新的程序代码、新建文件后先提交文件、再进行详细开发或编辑。 2.尽量避免多人同时处理同一个文件(svn毕竟不是那么优秀、无法智能将代码成功合并)。 3.项目成员提交程序前、必须获取最新的程序、编译且没问题、再进行提交操作。 4.提交代码必须选择解决方案进行代码提交、请勿选择其中某项目进行提交。 (1)签出最新程序:选择解决方案右键--》Update Solution to Latest Version, 如下图 (2)代码文件合并:如svn上的文件与本地文件产生冲突、则会在Pending Changes 中高亮显示、双击文件打开双方文件差异、合并完成后、点击Commit进行合并后文件提交。如下图

产品版本管理规范

基于Tortoise SVN的软件产品版本管理规范[草稿]

目录 1. 引言 (1) 1.1. 目的 (1) 1.2. 范围 (1) 1.3. 术语定义 (1) 1.4. 参考资料 (2) 1.5. 版本控制记录 (2) 1.6. 版本更新记录 (2) 1.版本管理 (4) 2.1. 版本标示方法 (4) 2.1.1. 正式版本 (4) 2.2. 目录结构 (5) 2.3. 文档的存放 (6) 2.3.1. 开发文档的存放 (6) 2.3.2. 源代码的存放 (6) 2.3.3. SQL的语句存放 (7) 2.3.4. 发行文档的存放 (7) 2.4. 配置管理流程 (7) 2.5. 权限控制的管理 (8) 2.更新管理 (9) 3.1. 源程序的修改 (9) 3.2. 版本升级 (10) 3.2.1. 版本升级原则 (10) 3.2.2. 新版本发布 (11) 3.3. 文档的变更 (11) 3.备份管理 (12) 4.版本工具Tortoise SVN的使用 (13)

1.引言 版本控制就是对软件开发过程中所创建的配置对象不同版本进行管理,保证任何时间都可以取到正确的版本以及版本的组合。 版本控制的主要功能是记录开发过程中的每一次修改,让开发的工作可以随时检查过往历史记录和获得正确版本,是系统的成长记录。 1.1.目的 本文档的编制是为了规范产品部、研发部、测试部对软件产品版本的管理。 1.2.范围 本文档为产品部、研发部、测试部的管理员提供有关版本管理规范的相关 内容,包括: ●●●●版本标识方法 软件系统数据的存放文档的修改控制 文档的备份制度 1.3.术语定义 SCM 软件配置管理(Software Configuration Management)缩写SVM 软件版本管理(Software Version Management)缩写 SVN 一个开源的版本控制系统Subversion. 文档

SVN使用手册版

S V N使用手册版 Document serial number【NL89WT-NY98YT-NC8CB-NNUUT-NUT108】

S V N环境搭建及使用手册 一、SVN介绍 SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。 二、SVN安装包介绍(安装包存放在服务器上 D:\安装包\SVN) 服务端:SVN服务端安装包是。 客户端:客户端软件主要包括下列3个文件 1. ----SVN客户端安装包 2. ----SVN客户端语言包 3. -----SVN针对Visual Studio的插件 三、搭建SVN服务端详细说明 第一步:搭建SVN团队项目、在服务器上打开已安装的SVN服务端、新建一个项目文件夹、创建完成后、右键项目复制项目URL 具体如下图

第二步:创建SVN用户、及设置密码、如下图 第三步:SVN服务端创建项目完成及创建用户后、使用SVN客户端将程序代码等文件提交上去、选中需要提交的程序文件、并填写正确SVN服务端项目的URL地址、

四、在日常开发中使用SVN的常用操作主要有:签出程序、文件合并、代码文件撤销、版本回滚、及历史版本控制等 说明:使用SVN版本控制,必须遵循4个原则。 1.新建文件前获取最新的程序代码、新建文件后先提交文件、再进行详细开发或编辑。 2.尽量避免多人同时处理同一个文件(svn毕竟不是那么优秀、无法智能将代码成功合并)。 3.项目成员提交程序前、必须获取最新的程序、编译且没问题、再进行提交操作。 4.提交代码必须选择解决方案进行代码提交、请勿选择其中某项目进行提交。(1)签出最新程序:选择解决方案右键--》Update Solution to Latest Version, 如下图

客户端TortoiseSVN 安装和使用方法

一、客户端TortoiseSVN的安装 运行TortoiseSVN程序,点击Next,下面的截图顺序即为安装步骤:图1: 图2:

图3: 图4: 点击Finish按钮后会提示重启系统,其实不重启也没有关系。

二、客户端TortoiseSVN的使用方法 1、签入源代码到SVN服务器 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示: 图2-2-1 点击Import,弹出下面的窗体,其中https://www.wendangku.net/doc/8a4311290.html,是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库。 说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。 图2-2-2

点击OK按钮,会弹出下面的窗体,要求输入凭据:图2-2-3 在上面的窗体中输入用户名和密码,点击OK按钮:图2-2-4

如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN服务器上的源代码到自己的机器了。 2、签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体: 图2-2-5 在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,

点击OK按钮,就开始签出源代码了。 说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web的方式访问代码库,在浏览器中输入https://www.wendangku.net/doc/8a4311290.html,/svn/StartKit/ 这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。 搞定!源代码已经成功签出到刚才新建的StartKit目录中。 打开StartKit目录,可以看到如下图的文件夹结构: 图2-2-5 一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件: 图2-2-7

SVN管理规定

SVN管理规则 编写目的:为了保存项目资料,管理项目版本。提高开发的工作效率,管理项目文件,特别制定此规定。使用范围:开发部 文件类型:程序文件技术文件作业文件外来文件质量记录表格 受控级别:保密非保密 正文内容: 一.SVN安装和使用 1:SVN使用TortoiseSVN-1.5.8.15348-win32-svn-1.5.5.msi版本。 2:请按照使用说明书的方法使用。 使用说明书目录:\\172.16.0.2\RD_Share\TortoiseSVN-1.5.8.15348-win32-svn-1.5.5目录下。 这里简单说明几个重要的使用的命令: 1)updata :为更新SVN资料,相当于下载的功能。 2)check out :这个命令是在收到工作流程的时候,分配的一个路径的时候,可以用这个命令把相关资料 下载到本机目录下。 3)commit :上传修改的项目文件。 4)show log :显示当前SVN版本,和此版本修改的信息。 二.SVN目录管理规定 Xxxx_项目名称 | |——DOC | |——user 存放相关用户DOC文件 | |——product 存放相关产品DOC文件 | |——refer 存放相关产品设计参考资料 | |——tech 存放产品技术文件 | |——test 存放产品测试文件 | |——firmware | |——main 存放产品代码 | |——test 存放产品测试代码 | |——hardware | |——main 存放产品电路设计 | |——test 存放产品测试工装电路设计 | |——release 存放产品发布的资料(针对管理部) 1)按照规定,把开发资料存放到相关的目录下。 2)文件的名称命名以“项目名称+相关文件名称”。名称不需要加上版本号。SVN将自动保存版本号。 例如: 0901_DryContact 项目,他的清单命名为《DryContact元器件清单.doc》 三.SVN日常管理规定 1)开发人员所有的项目资料必须上传SVN。

SVN客户端--TortoiseSVN使用说明

SVN客户端--TortoiseSVN使用说明 TortoiseSVN是windows下其中一个非常优秀的SVN客户端工具。通过使用它,我们可以可视化的管理我们的版本库。不过由于它只是一个客户端,所以它不能对版本库进行权限管理。 TortoiseSVN不是一个独立的窗口程序,而是集成在windows右键菜单中,使用起来比较方便。 TortoiseSVN每个菜单项都表示什么意思 01、SVN Checkout(SVN取出) 点击SVN Checkout,弹出检出提示框,在URL of repository输入框中输入服务器仓库地址,在Checkout directory输入框中输入本地工作拷贝的路径,点击确定,即可检出服务器上的配置库。 02、SVN Update(SVN更新) 如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update 即可,点击SVN Update,系统弹出更新提示框,点击确定,则把服务器是最新版本更新下来 03、Import(导入) 选择要提交到服务器的目录,右键选择TortoiseSVN----Import,系统弹出导入提示框,在URL of repository输入框中输入服务器仓库地址,在Import Message输入框中输入导入日志信息,点击确定,则文件导入到服务器仓库中。 04、Add(加入) 如果有多个文件及文件夹要提交到服务器,我们可以先把这些要提交的文件加入到提交列表中,要执行提交操作,一次性把所有文件提交,如图,可以选择要提交的文件,然后点击执行提交(SVN Commit),即可把所有文件一次性提交到服务器上 05、Resolving Conflicts(解决冲突)

SVN使用手册大全(史上最全)

目录 1.修改SVN访问密码 (1) 2.SVN客户端使用说明 (2) 2.1.安装SVN客户端 (2) 2.2.迁出配置库内容 (3) 2.3.维护工作文件 (4) 2.3.1.增加文件 (4) 2.3.2.更新文件 (8) 2.3.3.删除文件 (9) 2.3.4.修改文件 (10) 2.3.5.比较版本差异 (10) 2.3.6.撤销更改 (13) 2.3.7.锁定和解锁 (13) 2.3.8.重命名文件 (14) 2.3.9.获取历史文件 (14) 2.3.10.检查冲突 (15) 2.3.11.解决冲突 (16) 2.3.12.忽略无需版本控制的文件 (16) 2.3.13.去除SVN标志 (17) 2.3.14.查看文件每行的修改信息 (17) 2.3.15.重置访问路径 (18) 2.3.16.本地路径转换 (18) 2.4.浏览版本库 (18) 2.5.建立标签 (19) 2.6.建立分支 (19) 2.7.清除用户名等信息 (20) 2.8.统计信息 (21) 3.MYECLIPSE集成SVN (23) 3.1.安装SVN插件 (23) 3.2.配置M Y E CLIPSE提交目录 (28)

1. 修改SVN访问密码 打开IE,在地址栏中输入地址:http:// /svnmanager/index.php,进入SVNManager的欢迎界面,如下图所示: 点击“登陆”按钮进入登陆界面,如下图所示: 输入已知的用户名和密码,点击“登陆”按钮进入用户管理界面,点击“用户管理”按钮显示“编辑用户”菜单,如下图所示: 点击“编辑用户”按钮,进入用户信息修改界面,如下图所示:

SVN安装及使用教程

目录 1客户端安装——P1 2 SVN项目的初始化导入——P4 3基本客户端操作——P8 4 MyEclipse7. 5 SVN插件安装详细步骤--带图——P15 5 Eclipse下SVN版本控制插件的安装与使用——P30 一、SVN客户端——安装 1:双击安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi 2:点击下一步next

3:选择我接受那个单选框,出现Next按钮后点击下一步 4点击Browse按钮更改程序安装位置(可以不改),本人将该安装程序放在D:\Program Files\TortoiseSVN\ 点击下一步Next

5:点击Install,并耐心等待 6:几秒钟后出现以下界面

7点击Finish完成安装 因为程序要求提示是否立刻重启,重启时为了让svn工作拷贝在windows种的特殊样式生效,与所有的实际功能无关,但是这里为了立刻看到好的效果,推荐重启机器。 8:点Yes系统自动重启 二、SVN项目的初始化导入 假定:SVN在E:\chinamobile下创建了一个版本库,并且SVN已通过命令行打开,则:怎样将一个项目,初始化导入该chinabile版本库呢? 1:来到要导入的项目的根目录: C:\Documents and Settings\Administrator\桌面\catalog_20100907 该目录下有个叫catalog的项目

2:右键——TortoiseSVN——import…出现了: 3:在URL of repository:下边的框中输入svn://localhost/,如果服务器安装在其他机器,则将localhost改换成目标机器的IP地址“svn://192.168.0.145/”。如果不想再SVN版本库的根目录下放这个项目,可以在/后面加上子文件夹名,例如:“svn://localhost/zhao” 4:输入“svn://localhost/zhao”点击OK,会出现

SVN管理规范方案

Subversion管理规范 一Subversion介绍 Subversion (Subversion)是一个时间机器,随时记录文件和目录的每次改动,例如:文件的增加、删除、重新排列文件等。同时SUBVERSION允许你恢复以前旧版本的数据,或者检查数据变化的历史。 SVN使用类似数据库事物的方式来处理用户提交入库的过程,整个改动要么成功的被提交,要么被中断并回滚。在数据提交完之前,其他人是看不到用户提交的修改文件,你看到的要么是改动之前的状态,要么是改动之后的状态。这样的行为被称为“原子提交”。原子提交很有用,因为它能保证所有相关人员看到的总是相同的东西。原子提交过程的其中一步就是包括把你的所有改动打包为

一个“修订集”(有时被称为改动集),并且再给个改动标记的修订号(绿色勾变为红色叹号)。 图 1 图1总体概括了SVN 整个操作过程:首先用户从版本库通过网络“检出”到本地工作副本中,然后,在本地工作副本中进行增加、修改、删除文件后“提交”到版本库中,如果本地工作副本中版本较系统版本过时,用户使用“更新”功能与系统上版本保持一致。 二 Subversion 的目录结构 每个SVN 版本库下需要有trunk(可用项目名做目录名)、branches 及tags 目录,trunk 表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。branches 表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。tags 表示保存测试无问题的发布版本,不可修改。branches/tags 命名规则:项目名[_说明]_版本号。 在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy 到branches 上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches 上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug ,则只要在branches 上修改该bug ,修改完bug 后再编译branches 上最新的代码发布到生产环境即可。tags 的作用是将在branches 上修改的bug 的代码合并到trank 上时创建个版本标识,以后branches 上修改的bug 代码再合并到trunk 上时就从tags 的version 到branches ,最新的version 合并到trunk ,以保证前期修改的bug 代码不会在合并。 版本库 本地工作副本

TortoiseSVN客户端常用命令详解

TortoiseSVN客户端常用命令详解 1、Checkout 首先要Checkout服务器端的Repository, 所谓的Checkout就是指获得服务器端指定的Repository存储的所有文件。Checkout的具体方式是: 在客户端新建一个空目录,比如:F:\Project1 (确保是空的) 在该目录上单击右键,在弹出式菜单中选中SVN Checkout..., 之后按要求录入内容: 然后点OK,会弹出一个认证对话框, 输入用户名和密码。

点OK后就完成了对Repository的Checkout。 检出后,所有检出文件上都打着绿色对勾: 命令方式检出 1:在DOS命令中输入需要检出的目录: http://192.168.1.210:8081/svn/svnproject/Knowledge 2:其中,意思是,检出文档是放在D盘的根目录下,是检出文档的存放位置,如下图:

2、update 获取版本库中最新版本,具体的方法是:在WC目录上单击右键,SVN Update。 这时WC中的文件就是最新的版本了。 3、commit commit功能就是将你本地的文件修改记录上传到服务器上面,可以理解为上传。 只会上传原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右键点击文件选择Add,然后文件上面会出现一个加号,在下次commit的时候才能选到该文件。commit页面:

注意:commit的时候,最好填写Log信息, Log内容包括:修改了哪些东西及为什么做这些修改(what+why) 强制必须录入log: property 中设置录入log最小长度,此时commit必须录入log,否则不允许提交. 设置录入log最小长度页面:

SVN命令使用手册

SVN命令使用手册修改版本记录 M:修改A:添加D:删除

SVN命令使用 一、常用命令 1.Svnadmin create创建库 svnadmin create path 在windows版本上: D:\>svnadmin create test2 D:\> 通过dir来列出目录中文件,已经包含test2,如图1所示: 图1 说明此时已经成功建立 2.Svn import导入项目 svn import project_path svn_lib_path -m “comment” 举例: 假设有一个工程名称unismg,代码的文件目录是unicom; A、我们在D盘新建目录unismg,在此目录下新建三个文件目录,如图2所示: 图2

trunk中存放的是项目主线;branches中存放源码分支;tags存放在开发过程中做的标签。 B、我们将代码unicom放到d:\unismg\trunk\中 C、执行命令D:\>svn import d:\unismg file:///d:/test2/unismg -m "initial import unismg" 结果如图3所示: 图3 这样我们就将工程代码导入svn库中管理。此时删除D:\>unismg目录也没有关系,因为你的源代码已经在SVN库中管理了。 有人会有疑问,为什么我到test2目录中去找*.c文件怎么一个没有找到啊,是的SVN 管理代码,并不是简单的保存文件,而是利用bdb管理的,所以你看不到源码存在。 之后你可以使用后续的命令来工作了。 多说一句,关于svn_lib_path的几种形式: file:///直接版本访问(本地磁盘) http://通过配置subversion的Apache服务器的WebDAV协议 https://与http://相似,只不过增加了ssh协议 Svn://通过svnserver服务自定义的协议 Svn+ssh://与svn://相似,但是通过SSH协议封装 比如,联通在信网关在30.251linux服务器上,使用的是svnserver服务自定义的协议,那么,导入工程代码时应采用的命令是: svn import $path/proj/unismg svn://192.168.30.251:3482-m "initial import unismg" 3.Svn co: 将文件checkout到本地目录 svn checkout path(path是服务器上的目录) 例如:svn checkout svn://192.168.1.1/pro/domain 简写:svn co 举例: svn co svn://192.168.30.251:3482/trunk/unicom 下面信息就是从库中下载的代码信息。

SVN管理管理规范

1.使用注意事项 负责而谨慎地提交自己的代码(先更新后提交) SVN更新的原则是要随时更新,随时提交。当完成了一个小功能,能够通过编译并且并且自己测试之后,谨慎地提交。 如果提交过程中产生了冲突,则需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。 如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。 保持原子性的提交 每次提交的间歇尽可能地短,以一个小时,两个小时的开发工作为宜。如在更改UI界面的时候,可以每完成一个UI界面的修改或者设计,就提交一次。在开发功能模块的时候,可以每完成一个小细节功能的测试,就提交一次,在修改bug 的时候,每修改掉一个bug并且确认修改了这个bug,也就提交一次。我们提倡多提交,也就能多为代码添加上保险。 不要提交自动生成的文件 Visual Studio在生成过程中会产生很多自动文件,如.suo等配置文件,Debug,Release,Obj等编译文件,以及其他的一些自动生成,同编译代码无关的文件,这些文件在提交的时候不应该签入,如果不小心签入了,需要使用Delete 命令从仓库中删除。这个可以使用SVN过滤功能,在设置里面设置ignore lists. 不要提交不能通过编译的代码 代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库或者没有放入GAC(针对.Net Framework)中,项目经理在准备项目工作区域的时候,需要考虑到这样的情况,确保开发小组成员在签出代码之后能够在统一的环境中进行编译。 不要提交自己不明白的代码 代码在提交入SVN之后,你的代码将被项目成员所分享。如果提交了你不明白的代码,你看不懂,别人也看不懂,如果在以后出现了问题将会成为项目质量的隐患。因此在引入任何第三方代码之前,确保你对这个代码有一个很清晰的了解。提前宣布自己的工作计划 在自己准备开始进行某项功能的修改之前,先给工作小组的成员谈谈自己的修改计划,让大家都能了解你的思想,了解你即将对软件作出的修改,这样能尽可能的减少在开发过程中可能出现的冲突,提高开发效率。同时你也能够在和成员的交流中发现自己之前设计的不足,完善你的设计。 对提交的信息采用明晰的标注 +) 表示增加了功能 *) 表示对某些功能进行了更改 -) 表示删除了文件,或者对某些功能进行了裁剪,删除,屏蔽。 b) 表示修正了具体的某个bug

LINUX SVN客户端使用方法介绍

svnaddvalues/strings.xml//--添加 svnst//--查看状态 svnci//--提交svnci-msvnci,permission 1、将文件checkout到本地目录 svncheckoutpath(path是服务器上的目录) 例如:svncheckoutsvn://192.168.1.1/pro/domain 简写:svnco 2、往版本库中添加新的文件 svnaddfile 例如:svnaddtest.php(添加test.php) svnadd*.php(添加当前目录下所有的php文件) 3、将改动的文件提交到版本库 svncommit-mLogMessage[-N][--no-unlock]PATH(如果选择了保持锁,就使用--no-unlock开关) 例如:svncommit-maddtestfileformytesttest.php 简写:svnci 4、加锁/解锁 svnlock-mLockMessage[--force]PATH 例如:svnlock-mlocktestfiletest.php svnunlockPATH 5、更新到某个版本 svnupdate-rmpath

例如: svnupdate如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。 svnupdate-r200test.php(将版本库中的文件test.php还原到版本200) svnupdatetest.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svnresolved,最后再提交commit) 简写:svnup 6、查看文件或者目录状态 1)svnstatuspath(目录下的文件和子目录的状态,正常状态不显示) 【?:不在svn的控制中;M:内容被修改;C:发生冲突;A:预定加入到版本库;K:被锁定】 2)svnstatus-vpath(显示文件和子目录状态) 第一列保持相同,第二列显示工作版本号,第三和第四列显示最后一次修改的版本号和修改人。 注:svnstatus、svndiff和svnrevert这三条命令在没有网络的情况下也可以执行的,原因是svn在本地的.svn中保留了本地版本的原始拷贝。 简写:svnst 7、删除文件 svndeletepath-mdeletetestfle 例如:svndeletesvn://192.168.1.1/pro/domain/test.php-mdeletetestfile 或者直接svndeletetest.php然后再svnci-m'deletetestfile‘,推荐使用这种 简写:svn(del,remove,rm) 8、查看日志 svnlogpath 例如:svnlogtest.php显示这个文件的所有修改记录,及其版本号的变化

SVN提交规范

SVN提交规范文件编号: SVN提交规范 第 1 页共5页

SVN提交规范文件编号: 修订记录 第 2 页共5页

SVN提交规范文件编号: 目录 1、规范的目的 (3) 2、术语和定义 (4) 3、适用范围 (4) 4、参考和引用 (4) 5、细则 (4) 6、补充说明 (5) 1、规范的目的 本规范规定在产品开发过程中涉及的代码在SVN上的提交规则,确保分类清晰、提交格式统一、 第 3 页共5页

SVN提交规范文件编号: 简洁、便于管理。 2、术语和定义 代码:包括软件开发过程中从开发商获取的源代码、自己开发的代码、针对测试反馈的bug进行修改的代码。 工作目录:软件开发人员本地主机或者编译服务器上,用于调试问题、解决BUG的源代码目录。 编译目录:软件开发人员本地主机或者编译服务器上,用于编译版本、提交代码到SVN的源代码目录。 模块名:为本次提交代码的主要模块名称,采用全大写字母标识,尽量与程序中模块的命名相同,且前后应保持一致,不应同一模块出现多种不同的命名方式。 3、适用范围 本规范适用于规范研发体系所有软件工程师的SVN提交。 4、参考和引用 5、细则 5.1 SVN注释 SVN的提交时对注释的规范: 1、注释文字可以使用中文或英文,推荐使用中文,要求都能清晰表述要表达的意思 2、注释说明符合要求的格式以及内容完整,包括如下的内容: 格式要求:注释包括2个部分,中间用“| ”隔开,第一个部分描述操作的类别;第二部分对该操作的目的、方法、可能的注意事项进行描述。第一部分的第一个词为类别关键词,具体分类和关键词如下: Vendor:供应商提供的原始代码加入SVN进行受控管理 Develop:支持新特性的开发提交代码,包括功能优化和性能提升等的相关开发工作 Bug:开发阶段完成后,各测试环节反馈的问题修改,包括测试部、现场、工厂等 Customize:客制化需求软件制作过程中代码的修改 内容完整要求:SVN提交时必须说明该操作的目的,并尽可能的对相关的实现方法或注意事项进行说明;要尽量详细、清晰的说明修改内容,不允许为空或仅使用“Fix、Mofidy”等简单字词进行备注; 其他要求:为便于检索、跟踪,推荐在注释的内容中尽可能多的包括功能特性相关的模块或特性名称 5.2 SVN提交要求 代码的提交遵循如下的规则: 1、供应商提供的代码:需在代码提交时注明对应的供应商,以及该代码支持的硬件情况进行 第 4 页共5页

svn管理规范,华为

竭诚为您提供优质文档/双击可除 svn管理规范,华为 篇一:svn管理规范 安生sVn管理规范 第一章总则 第一条目的 通过对具备sVn管理权限的员工进行sVn规范的落实工作,促使员工不断改善工作效率,规范操作过程,从而提高公司对sVn仓库的合理、充分、高效利用的能力。 第二条适用范围 本制度适用于浙江安生信息科技有限公司(以下简称“公司”)及下属子分公司全体员工。 第三条责任说明 对于公司离职的员工,原则上由其所在部门具备sVn管理系统管理权限人员负责清除权限,同时人事行政部必须及时通知离职员工所在部门具备sVn管理系统管理权限人员(通常为部门主管)的权限清除工作。 第二章细则 第一条库管理

1,公司的所有sVn仓库(包括杭州)将整合在统一的sVn服务器上。2,公司历史迁移库在访问uRl中以“svn-past”标记,新建库在访问uRl中以“svn”标记。 第二条权限下放原则 1,由具备系统管理员权限(可配置)的管理人员分配库管理员。2,库管理员允许多个,通常将库管理员赋给对应于某库的项目经理。3,项目经理具备分配拥有项目(对应于某库)的人员以及权限的能力。3,sVn访问时统一将 ip替换为“https://www.wendangku.net/doc/8a4311290.html,”,端口为90。 第三条目录规范 1,按业务领域创建库,再按区域和平台性质划分分支目录,在分支目录下管理开发分支(适用于开发部)。 2,所有新建仓库默认结构为: --branches--tags--trunk各目录下的所有子目录均不允许出现trunk、tags、branches。3,开发分支命名规范:年月日-时分秒-编号,如“20xx1223-000000-001”。4,标签命名规范:年月日-时分秒-release-编号,如 “20xx1223-000000-release-001”。 第四条其他约束 1,对于仓库目录结构的操作,一律通过sVn管理系统进行,禁止使用eclipse5,编号为branches或则tags下已存在目录数量加1的结果。svn插件或则tortoisesVn客户

Windows下svn客户端TortoiseSVN的安装和操作

TotoiseSVN的基本使用方法 一、签入源代码到SVN服务器 假如我们使用Visual Studio在文件夹StartKit中创建了一个项目,我们要把这个项目的源代码签入到SVN Server上的代码库中里,首先右键点击StartKit文件夹,这时候的右键菜单如下图所示:https://www.wendangku.net/doc/8a4311290.html, 图2-2-1 https://www.wendangku.net/doc/8a4311290.html, 点击Import,弹出下面的窗体,其中https://www.wendangku.net/doc/8a4311290.html, 是服务器名,svn是代码仓库的根目录,StartKit是我们在上个教程中添加的一个代码库: https://www.wendangku.net/doc/8a4311290.html, 说明:左下角的CheckBox,在第一次签入源代码时没有用,但是,在以后你提交代码的时候是非常有用的。Svn中文网 图2-2-2 https://www.wendangku.net/doc/8a4311290.html,

参考资料:https://www.wendangku.net/doc/8a4311290.html, 点击OK按钮,会弹出下面的窗体,要求输入凭据:https://www.wendangku.net/doc/8a4311290.html, 图2-2-3 Svn中文网 https://www.wendangku.net/doc/8a4311290.html, 在上面的窗体中输入用户名和密码,点击OK按钮:参考资料:https://www.wendangku.net/doc/8a4311290.html,

图2-2-4 Svn中文网 参考资料:https://www.wendangku.net/doc/8a4311290.html, 如上图所示,好了,源代码已经成功签入SVN服务器了。这时候团队成员就可以迁出SVN 服务器上的源代码到自己的机器了。 https://www.wendangku.net/doc/8a4311290.html, 二、签出源代码到本机 在本机创建文件夹StartKit,右键点击Checkout,弹出如下图的窗体:https://www.wendangku.net/doc/8a4311290.html, 图2-2-5 https://www.wendangku.net/doc/8a4311290.html,

在上图中URL of Repository:下的文本框中输入svn server中的代码库的地址,其他默认,点击OK按钮,就开始签出源代码了。 https://www.wendangku.net/doc/8a4311290.html, 说明:上图中的Checkout Depth,有4个选项,分别是迁出全部、只签出下一级子目录和文件、只签出文件、只签出空项目,默认的是第一项。上面的例子中,我们也可以使用web 的方式访问代码库,在浏览器中输入https://www.wendangku.net/doc/8a4311290.html,/svn/StartKit/ 参考资料:https://www.wendangku.net/doc/8a4311290.html, 这时候也会弹出对话框,要求输入用户名和密码,通过验证后即可浏览代码库中的内容。https://www.wendangku.net/doc/8a4311290.html, https://www.wendangku.net/doc/8a4311290.html, 搞定!源代码已经成功签出到刚才新建的StartKit目录中。https://www.wendangku.net/doc/8a4311290.html, 打开StartKit目录,可以看到如下图的文件夹结构: https://www.wendangku.net/doc/8a4311290.html, 图2-2-5 https://www.wendangku.net/doc/8a4311290.html, 参考资料:https://www.wendangku.net/doc/8a4311290.html, 一旦你对文件或文件夹做了任何修改,那么文件或文件夹的显示图片机会发生变化。下图中我修改了其中的二个文件:https://www.wendangku.net/doc/8a4311290.html, 图2-2-7 https://www.wendangku.net/doc/8a4311290.html,

SVN管理规范

1、目的: 本制度为研发部SVN配置管理的准则和依据,所有与SVN配置管理的行为都必须遵照并服从于本制度。 2、适用范围: 本制度适用于研发部全体员工。 3、控制要求和方法: 3.1 操作流程 首先用户从svn版本库通过网络“检出”到本地工作副本中,然后,在本地工作副本中进行增加、修改、删除文件后“提交”到版本库中,如果本地工作副本中版本较系统版本过时,用户使用“更新”功能与系统上版本保持一致。 3.2 帐号注册、权限申请 1. 用户帐号注册:新进员工没有SVN帐号,通过联系SVN管理员,注明申请SVN普 通帐号,管理员处理完帐号注册事宜后,通知使用并介绍使用规范。 注:普通帐号,只对目录有读取权限,无法更改。 2. 权限的申请:根据员工所参与的项目,SVN管理员对其开放相应目录的读、写权限。 3. 账号注销:员工离职后,对其账号进行注销。 3.3 操作规范 1. 每日进行开发工作之前更新代码,下班时提交代码。 2. 各员工需牢记各自的账户和密码,不得向他人透漏,严禁使用他人账户进行SVN各项操作。

3. 不要签出整个目录,除非特别必要,不应同时签出过多的项目。 4. 文件提交时要求必须提交注释,注明相关修改信息,日志信息描述的越详细越好,让项目组其他成员在看到标注后不用详细看代码就能了解你所做的修改。 5. 代码变动及时提交,避免丢失本地修改后无法恢复。 6. 在提交之前要编译代码并修正错误。要保证新增加的文件同时被提交,否则只在你本地能正常工作,导致其它人不能编译通过。 7. 提交之前要测试所改变的应用,测试改变后的效果是否达到预期的目的。 8. 多次检查提交的内容。提交之前应先做SVN更新或与资源库同步,注意到SVN关于冲突、错误的信息。资源库同步会告诉你将要提交的内容与资源库内容之间的差别,确认它们是不是你真正想要提交的。 9. 如果别人和自己更改的是同一个文件,那么Update时会自动进行合并,如果修改的是同一行,那么合并时会产生冲突,这种情况就需要同之前的开发人员联系,两个人一起协商解决冲突,解决冲突之后,需要两人一起测试保证解决冲突之后,程序不会影响其他功能。 10. 在更新时注意所更新文件的列表,如果提交过程中产生了更新,则也是需要重新编译并且完成自己的一些必要测试,再进行提交。这样既能了解别人修改了哪些文件,同时也能避免SVN合并错误导致代码有错。 11. 提前宣布修改计划。当你计划进行修改,需要影响到SVN里的许多文件时,先通过邮件或者当面通知其他开发者。例如,修改底层数据库模块时,有可能影响到业务逻辑层调用数据库模块的地方。这样其他开发者会有准备,也会对修改提出意见和建议。 12. 每次提交尽量是一个最小粒度的修改。比如一个小功能提交一次。 13. 不要提交不能通过编译的代码。代码在提交之前,首先要确认自己能够在本地编译。如果在代码中使用了第三方类库,要考虑到项目组成员中有些成员可能没有安装相应的第三方类库。 14. 提交时注意不要提交本地自动生成的文件,提交的文件必须是开发者共用的程序文件,程序编译中产生的中间文件或文件夹,如/Debug/、/Release/、*.ncb、*.obj、*.o、Thumbs.db、/build/、*.class、/classes/、/data/等不要提交到SVN里。 15. SVN管理员需对SVN的所有项目定期备份。 16. SVN的资料不允许公开给其他部门人员,确实要分发的,必须通过总经理同意。 重要说明文件要求: 硬件开发:

相关文档