软件配置管理工具SVN操作指引.doc

上传人:wj 文档编号:1307196 上传时间:2023-04-30 格式:DOC 页数:29 大小:1.54MB
下载 相关 举报
软件配置管理工具SVN操作指引.doc_第1页
第1页 / 共29页
软件配置管理工具SVN操作指引.doc_第2页
第2页 / 共29页
软件配置管理工具SVN操作指引.doc_第3页
第3页 / 共29页
软件配置管理工具SVN操作指引.doc_第4页
第4页 / 共29页
软件配置管理工具SVN操作指引.doc_第5页
第5页 / 共29页
软件配置管理工具SVN操作指引.doc_第6页
第6页 / 共29页
软件配置管理工具SVN操作指引.doc_第7页
第7页 / 共29页
软件配置管理工具SVN操作指引.doc_第8页
第8页 / 共29页
软件配置管理工具SVN操作指引.doc_第9页
第9页 / 共29页
软件配置管理工具SVN操作指引.doc_第10页
第10页 / 共29页
软件配置管理工具SVN操作指引.doc_第11页
第11页 / 共29页
软件配置管理工具SVN操作指引.doc_第12页
第12页 / 共29页
软件配置管理工具SVN操作指引.doc_第13页
第13页 / 共29页
软件配置管理工具SVN操作指引.doc_第14页
第14页 / 共29页
软件配置管理工具SVN操作指引.doc_第15页
第15页 / 共29页
软件配置管理工具SVN操作指引.doc_第16页
第16页 / 共29页
软件配置管理工具SVN操作指引.doc_第17页
第17页 / 共29页
软件配置管理工具SVN操作指引.doc_第18页
第18页 / 共29页
软件配置管理工具SVN操作指引.doc_第19页
第19页 / 共29页
软件配置管理工具SVN操作指引.doc_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

软件配置管理工具SVN操作指引.doc

《软件配置管理工具SVN操作指引.doc》由会员分享,可在线阅读,更多相关《软件配置管理工具SVN操作指引.doc(29页珍藏版)》请在冰点文库上搜索。

软件配置管理工具SVN操作指引.doc

软件配置管理工具SVN操作指引

软件配置管理工具SVN操作指引

目录

IIii

文件控制 ii

更改记录 ii

审阅 ii

1概述 1

目的 1

范围 1

文件内容 1

术语 1

2SVN基础知识 2

2.1SVN简介 2

2.2SVN的特性 2

2.3SVN的架构 3

3SVN基本应用 4

3.1客户端(TortoiseSVN)的安装 4

3.2客户端常用操作 8

3.3SVN的使用规范 24

4附录 26

4.1参考文件 26

4.2质量记录 26

软件配置管理工具SVN操作指引

1概述

目的

为了对配置管理工具(subversion,以下简称为SVN)应用过程提供统一指导,特制订本指引。

范围

本指引适用于公司所有采用SVN作为配置管理工具的各项目组。

文件内容

本指引内容包括SVN基础知识、SVN基本应用、SVN使用规范三部分。

术语

2SVN基础知识

2.1SVN简介

Subversion(以下简称SVN)是一个自由、开放源码的版本控制系统。

在它的管理下,文件和目录可以超越时空。

SVN将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和修改的情况。

这样我们就可以籍此将数据回复到以前的版本,并可以查看更改细节。

也就是说,一旦一个文件被传到SVN上面,那么不管对它进行什么操作,SVN都会有清晰的记录,即使它在N天前被删除了,也可以被找回来。

所以,许多人将版本控制系统比做一种神奇的“时光机器”。

2.2SVN的特性

.2.2.1版本化目录

SVN实现的“虚拟”版本化文件系统可以跟踪目录树的变更。

也就是说,在SVN中,文件和目录都是版本化的。

.2.2.2真实的版本历史

由于实现了文件和目录的版本化,SVN可以记录文件复制、重命名这些常见操作带来的版本变更。

即在SVN中,对文件或目录都可以进行增加、删除、复制、重命名等操作,并有版本历史记录。

.2.2.3原子化提交

一个变更集要么完整地被提交到仓库中,要么不做任何改变,从而避免发生不完整地提交变更的情况。

.2.2.4受控元数据

每一个文件和目录都有一个与其对应的属性集。

.2.2.5可选的网络层

SVN仓库的存取是一个抽象概念,有利于其他人实现新的网络访问机制,SVN可以作为一个外部模块插入到ApacheHTTP服务器中。

.2.2.6一致的数据处理

SVN使用一种二进制的比较算法来表示文件之间的区别。

.2.2.7高效的分支和标记

分支和标记所带来的开销与项目的规模并没有直接的关系,SVN在创建分支和标记时使用类似“连接”的方式来复制整个项目。

因此这些操作通常只会花费很少且固定的时间。

.2.2.8扩展能力

SVN是由一组设计良好的APIs实现的,包含在C的共享库中,这使得它很容易维护。

也很容易被其他应用程序或语言使用。

2.3SVN的架构

3

3SVN基本应用

3.1客户端(TortoiseSVN)的安装

TortoiseSVN是Subversion基于windows下的一个免费开源客户端,能为用户提供友好直观的图示化操作。

免去输入难记的命令行,方便使用。

它能与windows外壳(例如资源管理器)无缝集成,可以保持你在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。

.3.1.1安装程序下载地址

TortoiseSVN的安装程序存放在公司CMS系统的以下目录:

/01公司共享资源/03_工具软件/02配置库工具/SVN

.3.1.2程序安装过程

点击YES,重启电脑。

在桌面空白地方鼠标右键,会出现下图。

安装成功。

.3.1.3中文语言包的安装(可选)

在公司CMS系统:

/01公司共享资源/03_工具软件/02配置库工具/SVN

存放着相同版本的LanguagePack,直接双击安装。

然后在鼠标右键——TortoiseSVN——Settings,如下界面,在“Language”一栏选择“中文(简体)”,确定后即可生效。

3.2客户端常用操作

如下图,通过TortoiseSVN——Repo-browser,可以登陆访问版本库,浏览库中内容,并可以进行打开、查看日志、导出、增加文件(夹)、删除、重命名、另存为等操作。

通过SVNCheckout,则可以将服务器版本库上的内容下载到本地,建立您个人的私有工作区。

个人在工作区的修改,在未提交前是不会影响到服务器版本库上的内容。

从而方便项目组的协同工作。

在工作区内,能进行比在“Repo-browser”中更多的操作,包括以下(如下图),下面具体介绍:

.3.2.1Repo-browser版本库浏览

TortoiseSVN——Repo-browser,版本库浏览工具,点击后出现以下对话框:

在里面输入版本库地址,结构为:

svn:

//服务器IP/配置库名称(注意svn为小写),如“svn:

//192.168.175.53/MDJT_ZJXT_2Q资金系统二期报表开发”,该URL地址配置管理员在创建配置库的时候一般都会邮件发送给你,连同用户名及密码信息等。

如果已经登陆过,会默认保存有URL历史记录,点击下拉框直接选择即可。

点击“OK”进入登陆界面,界面如下:

输入用户名和密码即可进入所在的版本库,建议勾选“Saveauthentication”保存帐户信息,方便以后登陆及在版本库内的每一个操作,免去重复输入的麻烦。

登陆后的界面如下:

目录结构

文件名称

对此文档最近进行操作的人员名称

对此文档最近进行操作的时间

此文件目录当前的版本号

.3.2.2SVNCheckout文件检出

用此命令可以从服务器导出选中的配置库目录到本地拷贝,它和Export的区别在于,

检出的文件受版本控制,目录下的每个文件夹内都隐藏有.SVN文件夹(注意不要误删除),里面存储着各文件的版本信息。

首先在本地硬盘新建一个空白文件夹作为检出的工作拷贝存储空间。

选择服务器版本库地址名称,建议项目成员可具体到“/01工作区”

选择要checkout保存到的目标目录

检出后的文件被绿色小勾覆盖,如下图所示:

注:

“URLofRepository”该栏,建议一般项目成员具体到“/01工作区”。

只将工作区内容检出到本地作为日常工作区域。

免去以后其他各区基线内容不断增加,Update到本地所造成的占据你本地硬盘空间过大。

检出到工作拷贝的文件可以任意修改,在您没提交之前,修改是不会影响到服务器的版本库。

每位用户每次修改提交后,版本库自动更新成最新版本,全局版本号增加1。

.3.2.3SVNCommit提交修改

文件修改保存,但没进行提交的时候,会出现红色感叹号提示。

填写日志信息,勾选要提交的文档(默认为全选,可一次提交多份文档。

)点击“OK”提交成功,全局版本号增加1,覆盖图标由红色叹号变为绿色小钩。

.3.2.4SVNUpdateSVN更新

如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVNUpdate即可。

在本机的工作拷贝区内,右键,选择SVNUpdate,系统弹出更新提示框,点击确定,则把服务器的最新版本更新下来。

注:

修改文件前请先Update,保持本地工作区与服务器最新版本一致。

可防止提交修改时报错,及有效减少冲突发生。

.3.2.5Add添加

新增文件“new”已经放在工作文件夹中(此时未有绿色小钩,尚未纳入版本控制)

空白地方,右键,选择TortoiseSVN——add

添加成功后图标变为:

再进行一次commit操作即可。

将添加的文档纳入版本库,图标变为绿色小钩:

注:

“new”文件添加到工作文件夹后,转到上级目录,右键——SVNCommit,直接提交修改也可以实现文件增加。

.3.2.6Delete删除

SVN支持文件删除,而且操作简单,方便。

选择要删除的文件,TortoiseSVN——Delete,再把删除操作提交到服务器(Commit)。

注:

若误操作对文件进行了Delete,但未提交(Commit)到服务器,可以用“Revert”来进行恢复。

.3.2.7Rename重命名

SVN支持文件改名,点击Rename,弹出文件名称输入框,输入新的文件名称,点击确定,再把修改提交,即可完成文件改名。

.3.2.8Move移动位置

SVN支持文件移动位置(包括直接移动和增量复制)。

操作方法如下:

在浏览配置库(Repo-browser)的界面上,直接选中要移动的文件,右键拖拽,鼠标移动到目标文件夹时候松开右键,在目标文件夹下方有以下选项,如图(将“11.doc”文件移动到“16其他”文件夹中):

选择需要的功能选项(如图为“moveitemstohere”),在弹出的对话框中填写备注信息,点击OK后,文档移动位置成功。

.3.2.9Getlock加锁

在本地工作区内,选中需要加锁的文件,TortoiseSVN——getlock。

弹出的对话框中,备注栏填写加锁的原因,点击OK,加锁生效。

文件加锁后其他用户对该文件不能编辑、修改等操作。

文件加锁生效后,在工作区内的文件会被加锁图标覆盖。

不需要再进行提交(commit)操作,其他用户在浏览版本库的时候,可以直接看到该文件已经被某个用户锁定。

注:

文件加锁使用完毕后,记得及时解锁释放权限,使用TortoiseSVN—releaselock。

.3.2.10Import导入

导入是一种批量向服务器上添加文件的方法,如果你想把本地的文件或文件夹添加到服务器上的某个目录下面,那么在本地的目录下,在空白处右键TortoiseSVN—import,会弹出以下对话框:

选择服务器版本库的端目录

填写日志信息,点击OK,导入完成后,全局版本号增加1。

刚才同时导入的所有文件都为同一个版本号。

注:

本机导入到目标服务器之后,本机目录并没有改变,也并不是工作拷贝,如果要对文件再做修改并能提交到服务器上的话,必须先从服务器上把文件“update”下来(前提是本机已经建立并checkout出了工作区),保持自己的工作区与服务器版本库最新版本一致。

.3.2.11Export导出

用此命令,指定路径,便可把整个工作拷贝干净地导出到本地目录下,所谓“干净”指的是导出的文件将不带svn文件标志,不受SVN的版本控制,文件及文件夹没有绿色的”√”符号标志。

默认的是导出当前版本的目录内容,当然也可以是你指定的任何一个版本的目录内容。

.3.2.12Updatetorevision更新至新版本

如果想查找某一个版本的内容,可以在工作区空白地方,右键,选择TortoiseSVN—UpdateToRevision,在提示框内输入指定的版本号,即可更新到指定的版本。

默认为服务器当前最新版本

可指定版本号,任一版本

.3.2.13Relocate重新定位

当服务器上的版本库目录已经改变,我们可以把工作拷贝重新定位,在“ToURL”框中输入新的地址。

使工作拷贝与新的版本库地址重新关联。

输入版本库新的URL地址

在ToURL输入框中输入新的URL地址,一直选择“OK”即可。

.3.2.14Showlog显示日志

TortoiseSVN—Show-Log,系统弹出日志信息,包括版本号,作者,更新日期,日志信息(如图):

此外,SVN还自带了简单的统计功能。

点击日志信息框右下角的Statistics按钮,系统显示统计信息,subversion有三种统计选择:

Statistics,Commitsbyweek,Commitsbyauthor,效果图如下:

.3.2.15Revisiongraph版本树显示

TortoiseSVN—revisiongraph,它可以把对此目录所做的所以操作以图形化的形式显示出来,详细记录每一步所做的操作,相当于“showlog”的一个图解,如图所示:

.3.2.16Create(apply)patch创建(应用)补丁

如果你对一个文件没有修改权限,但是迫于形势,你又必须对这个文件进行修改,这时你可以用creatpatch创建补丁,然后把你创建的补丁发给对此目录有写权限的用户,让他执行appypatch后,你所做的修改就会被提交到服务器上。

.3.2.17resolved冲突已解决

当两人对同一文件进行编辑时,一个人先提交,另一个人再进行提交的时候就会出现冲突,并提醒你必须先更新你的工作拷贝后才能对这个文件进行修改,如下图:

如对“new.txt”文档,已经有另外一个用户修改,并提交。

你在自己的工作区修改后,要提交到服务器的时候,会出现以下报错:

这时就要解决冲突,首先要更新你的本地工作拷贝,执行update后,你的工作文件夹会出被叹号图标覆盖,提示有冲突需要解决。

文件所在的工作区会出现如下图所示的文件:

出现冲突的文件

我修改后的文件

原始文件

别人修改后提交的文件

这时选中被叹号图标覆盖的文件(出现冲突的文件),右键,TortoiseSVN—Editconflicts,会出现如下图所示,这时你就可以对出现的冲突文本进行编辑,选定你最终想要的文档,就是所谓的“Merge”合并操作。

别人的修改

我的修改

合并的版本

根据需要选择合并的操作选项,usetestblackfrom“theirs”(合并后只保留他人的修改),usetestblackfrom“mine”(合并后只保留我的修改),usetestblackfrom“mine”before“theirs”(合并两人的修改,我的修改内容放置在他人的修改之前),usetestblackfrom“theirs”before“mine”(合并两人的修改,他人的修改内容放置在我的修改之前)。

如图示,选择了usetestblackfrom“theirs”before“mine”(合并两人的修改,他人的修改内容放置在我的修改之前),效果如下:

最终确定的合并生成的内容

确认修改完成后,保存修改。

右键,TortoiseSVN—Resolve

合并完成后的文件,会被红色感叹号图标覆盖。

执行一次commit,把修改提交上去,新版本生成。

注:

SVN只支持二进制文件的内容合并。

所以,为了减少冲突及合并产生的风险,你在修改文档前务必先update,保持工作区与服务器最新版本一致。

对于非二进制文件,建议使用加锁(getlock)功能。

3.3SVN的使用规范

.3.3.1及时提交更新(commit)

开发人员每次修改,或者新增、删除、拷贝工作区对象后,应该立刻提交到版本库(commit),有效保持工作区与版本库的高度一致。

.3.3.2经常更新工作拷贝(update),保持与最细版本同步

在本地工作区内修改文件前必须先下载最新版本(update),这样可以尽量减少冲突、合并。

.3.3.3提交的内容

提交前先在本地进行测试,不允许将有明显错误的文件提交到服务器上。

临时文件、无意义的草稿文件等不需纳入版本管理,不需提交到配置库。

.3.3.4每次提交要填写备注信息

备注有助于其他人(包括三个月后的你自己)理解你对文件所做修改。

     

备注信息长度:

>8字符 

备注信息内容:

简单说明该次更新的主要内容,确保信息的清晰、明了、可用。

(用户、时间等信息不需包括,工具已记录)。

 

                 如:

“新增解决方案清单”、“修改报表参数内容”、“根据设计评审结果补充”。

                 避免出现无效的日志内容:

如:

“修改完毕”、“张三更新”、“修正部分等”。

注:

SVN配置库现已增加“强制提交备注” 的设置,如未录入足够长度的日志信息,commit提示框中的“OK”按钮为灰色不可用。

.3.3.5提交文档按照规范命名

提交的文档必须按规范进行命名,命名规则为:

项目简称-文件名-(日期)

需要特别标示日期信息的文件,如会议纪要、通知在命名中才增加“日期”段,其他项目过程文档命名不需要日期,工具已记录。

.3.3.6适当使用加锁功能

由于SVN只支持二进制文件的合并功能,对于非二进制文件(如word\excel)在编辑修改前建议采用加锁(getlock)功能,减少冲突发生。

但注意在修改完成,提交后,及时解锁释(releaselock)放权限。

4附录

4.1参考文件

4.2质量记录

27

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2