软件配置管理工具SVN操作指引_第1页
软件配置管理工具SVN操作指引_第2页
软件配置管理工具SVN操作指引_第3页
软件配置管理工具SVN操作指引_第4页
软件配置管理工具SVN操作指引_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、赛意信息科技有限公司软件配置管理工具SVN操作指引文件编号:文件控制文件控制更改记录更改记录日期日期作者作者版本版本更改参考更改参考2009-2-10李苑荣1.0审阅审阅签字签字/日期日期审核会签审批目录文件控制 . ii更改记录 . ii审阅. ii1概述 . 1目的. 1范围. 1文件内容 . 1术语. 12SVN基础知识. 22.1SVN简介. 22.2SVN的特性. 22.2.1版本化目录. 22.2.2真实的版本历史 . 22.2.3原子化提交. 22.2.4受控元数据. 22.2.5可选的网络层 . 22.2.6一致的数据处理 . 22.2.7高效的分支和标记 . 22.2.8扩展

2、能力. 32.3SVN的架构. 33SVN基本应用. 43.1客户端(Tortoise SVN)的安装.43.1.1安装程序下载地址 . 43.1.2程序安装过程 . 43.1.3中文语言包的安装(可选). 73.2客户端常用操作 .83.2.1Repo-browser 版本库浏览. 93.2.2SVN Checkout 文件检出 . 103.2.3SVN Commit 提交修改. 113.2.4SVN Update SVN更新. 123.2.5Add 添加 . 123.2.6Delete 删除. 143.2.7Rename 重命名. 143.2.8Move 移动位置. 143.2.9Get

3、lock 加锁. 153.2.10Import 导入. 163.2.11Export 导出 . 173.2.12Update to revision 更新至新版本. 173.2.13Relocate 重新定位 . 183.2.14Show log 显示日志. 183.2.15Revision graph 版本树显示. 203.2.16Create (apply) patch 创建(应用)补丁.213.2.17resolved 冲突已解决 . 213.3SVN的使用规范.243.3.1及时提交更新(commit). 243.3.2经常更新工作拷贝(update),保持与最细版本同步.243.3.

4、3提交的内容. 243.3.4每次提交要填写备注信息. 243.3.5提交文档按照规范命名. 253.3.6适当使用加锁功能 . 254附录 . 264.1参考文件. 264.2质量记录. 261概述概述目目的的为了对配置管理工具(subversion,以下简称为SVN)应用过程提供统一指导,特制订本指引。范围范围本指引适用于公司所有采用SVN作为配置管理工具的各项目组。文件内容文件内容本指引内容包括SVN基础知识、SVN基本应用、SVN使用规范三部分。术语术语2SVN基础知识基础知识2.1SVN简介简介Subversion (以下简称SVN)是一个自由、开放源码的版本控制系统。在它的管理下,

5、文件和目录可以超越时空。SVN将文件存放在中心版本库里,这个版本库很像一个普通的文件服务器,不同的是,它可以记录每一次文件和修改的情况。这样我们就可以籍此将数据回复到以前的版本,并可以查看更改细节。也就是说,一旦一个文件被传到SVN上面,那么不管对它进行什么操作,SVN都会有清晰的记录,即使它在N天前被删除了,也可以被找回来。所以,许多人将版本控制系统比做一种神奇的“时光机器”。2.2SVN的特性的特性2.2.1版本化目录版本化目录SVN实现的“虚拟”版本化文件系统可以跟踪目录树的变更。也就是说,在SVN中,文件和目录都是版本化的。2.2.2真实的版本历史真实的版本历史由于实现了文件和目录的版

6、本化,SVN可以记录文件复制、重命名这些常见操作带来的版本变更。即在SVN中,对文件或目录都可以进行增加、删除、复制、重命名等操作,并有版本历史记录。2.2.3原子化提交原子化提交一个变更集要么完整地被提交到仓库中,要么不做任何改变 ,从而避免发生不完整地提交变更的情况 。2.2.4受控元数据受控元数据每一个文件和目录都有一个与其对应的属性集。2.2.5可选的网络层可选的网络层SVN仓库的存取是一个抽象概念,有利于其他人实现新的网络访问机制 ,SVN可以作为一个外部模块插入到 Apache HTTP 服务器中。2.2.6一致的数据处理一致的数据处理SVN使用一种二进制的比较算法来表示文件之间的

7、区别。2.2.7高效的分支和标记高效的分支和标记分支和标记所带来的开销与项目的规模并没有直接的关系 ,SVN在创建分支和标记时使用类似“连接”的方式来复制整个项目。因此这些操作通常只会花费很少且固定的时间。2.2.8扩展能力扩展能力SVN是由一组设计良好的 APIs实现的,包含在 C 的共享库中 ,这使得它很容易维护。也很容易被其他应用程序或语言使用。2.3SVN的架构的架构3SVN基本应用基本应用3.1客户端(客户端(Tortoise SVN)的安装)的安装Tortoise SVN 是 Subversion 基于windows下的一个免费开源客户端,能为用户提供友好直观的图示化操作。免去输入

8、难记的命令行,方便使用。它能与windows外壳(例如资源管理器)无缝集成,可以保持你在熟悉的工具上工作,不需要在每次使用版本控制功能时切换应用程序。3.1.1安装程序下载地址安装程序下载地址Tortoise SVN的安装程序存放在公司CMS系统的以下目录:/01公司共享资源/03_工具软件/02配置库工具/SVN3.1.2程序安装过程程序安装过程点击YES,重启电脑。在桌面空白地方鼠标右键,会出现下图。安装成功。3.1.3中文语言包的安装(可选)中文语言包的安装(可选)在公司CMS系统:/01公司共享资源/03_工具软件/02配置库工具/SVN存放着相同版本的LanguagePack,直接双

9、击安装。然后在鼠标右键TortoiseSVNSettings,如下界面,在“Language”一栏选择“中文(简体)”,确定后即可生效。3.2客户端常用操作客户端常用操作如下图,通过TortoiseSVNRepo-browser,可以登陆访问版本库,浏览库中内容,并可以进行打开、查看日志、导出、增加文件(夹)、删除、重命名、另存为等操作。通过SVN Checkout,则可以将服务器版本库上的内容下载到本地,建立您个人的私有工作区。个人在工作区的修改,在未提交前是不会影响到服务器版本库上的内容。从而方便项目组的协同工作。在工作区内,能进行比在“Repo-browser”中更多的操作,包括以下(如

10、下图),下面具体介绍:3.2.1Repo-browser 版本库浏览版本库浏览Tortoise SVNRepo-browser,版本库浏览工具,点击后出现以下对话框: 在里面输入版本库地址,结构为:svn:/服务器IP/配置库名称(注意svn为小写),如“svn:/3/MDJT_ZJXT_2Q资金系统二期报表开发”,该URL地址配置管理员在创建配置库的时候一般都会邮件发送给你,连同用户名及密码信息等。如果已经登陆过,会默认保存有URL历史记录,点击下拉框直接选择即可。点击“OK”进入登陆界面,界面如下:输入用户名和密码即可进入所在的版本库,建议勾选“Save auth

11、entication”保存帐户信息,方便以后登陆及在版本库内的每一个操作,免去重复输入的麻烦。登陆后的界面如下:3.2.2SVN Checkout 文件检出文件检出用此命令可以从服务器导出选中的配置库目录到本地拷贝,它和Export 的区别在于,检出的文件受版本控制,目录下的每个文件夹内都隐藏有.SVN文件夹(注意不要误删除),里面存储着各文件的版本信息。首先在本地硬盘新建一个空白文件夹作为检出的工作拷贝存储空间。目录结构文件名称对此文档最近进行操作的人员名称对此文档最近进行操作的时间此文件目录当前的版本号检出后的文件被绿色小勾覆盖,如下图所示:注:“URL of Repository”该栏,

12、建议一般项目成员具体到“/01工作区”。只将工作区内容检出到本地作为日常工作区域。免去以后其他各区基线内容不断增加,Update到本地所造成的占据你本地硬盘空间过大。检出到工作拷贝的文件可以任意修改,在您没提交之前,修改是不会影响到服务器的版本库。每位用户每次修改提交后,版本库自动更新成最新版本,全局版本号增加1。3.2.3SVN Commit 提交修改提交修改文件修改保存,但没进行提交的时候,会出现红色感叹号提示。选择服务器版本库地址名称,建议项目成员可具体到“/01工作区”选择要check out保存到的目标目录填写日志信息,勾选要提交的文档(默认为全选,可一次提交多份文档。)点击“OK”

13、提交成功,全局版本号增加1,覆盖图标由红色叹号变为绿色小钩。3.2.4SVN Update SVN更新更新如果配置库在本地已有工作拷贝,则取得最新版本只是执行SVN Update即可。在本机的工作拷贝区内,右键,选择SVN Update,系统弹出更新提示框,点击确定,则把服务器的最新版本更新下来。注:修改文件前请先Update,保持本地工作区与服务器最新版本一致。可防止提交修改时报错,及有效减少冲突发生。3.2.5Add 添加添加新增文件“new”已经放在工作文件夹中(此时未有绿色小钩,尚未纳入版本控制)空白地方,右键,选择Tortoise SVNadd添加成功后图标变为:再进行一次commi

14、t操作即可。将添加的文档纳入版本库,图标变为绿色小钩:注:“new”文件添加到工作文件夹后,转到上级目录,右键SVN Commit,直接提交修改也可以实现文件增加。3.2.6Delete 删除删除SVN支持文件删除,而且操作简单,方便。选择要删除的文件,Tortoise SVNDelete,再把删除操作提交到服务器(Commit)。注:若误操作对文件进行了Delete,但未提交(Commit)到服务器,可以用“Revert”来进行恢复。3.2.7Rename 重命名重命名SVN支持文件改名,点击Rename,弹出文件名称输入框,输入新的文件名称,点击确定,再把修改提交,即可完成文件改名。3.2

15、.8Move 移动位置移动位置SVN支持文件移动位置(包括直接移动和增量复制)。操作方法如下:在浏览配置库(Repo-browser)的界面上,直接选中要移动的文件,右键拖拽,鼠标移动到目标文件夹时候松开右键,在目标文件夹下方有以下选项,如图(将“11.doc”文件移动到“16其他”文件夹中):选择需要的功能选项(如图为“move items to here”),在弹出的对话框中填写备注信息,点击OK后,文档移动位置成功。3.2.9Get lock 加锁加锁在本地工作区内,选中需要加锁的文件,Tortoise SVNget lock。弹出的对话框中,备注栏填写加锁的原因,点击OK,加锁生效。文

16、件加锁后其他用户对该文件不能编辑、修改等操作。文件加锁生效后,在工作区内的文件会被加锁图标覆盖。不需要再进行提交(commit)操作,其他用户在浏览版本库的时候,可以直接看到该文件已经被某个用户锁定。注:文件加锁使用完毕后,记得及时解锁释放权限,使用Tortoise SVNrelease lock。3.2.10Import 导入导入导入是一种批量向服务器上添加文件的方法,如果你想把本地的文件或文件夹添加到服务器上的某个目录下面,那么在本地的目录下,在空白处右键TortoiseSVNimport,会弹出以下对话框:填写日志信息,点击OK,导入完成后,全局版本号增加1。刚才同时导入的所有文件都为同

17、一个版本号。注:本机导入到目标服务器之后,本机目录并没有改变,也并不是工作拷贝,如果要对文件再做修改并能提交到服务器上的话,必须先从服务器上把文件“update”下来(前提是本机已经建立并check out 出了工作区),保持自己的工作区与服务器版本库最新版本一致。3.2.11Export 导出导出用此命令,指定路径,便可把整个工作拷贝干净地导出到本地目录下,所谓“干净”指的是导出的文件将不带svn文件标志,不受SVN的版本控制,文件及文件夹没有绿色的”符号标志。默认的是导出当前版本的目录内容,当然也可以是你指定的任何一个版本的目录内容。选择服务器版本库的端目录3.2.12Update to

18、revision 更新至新版本更新至新版本如果想查找某一个版本的内容,可以在工作区空白地方,右键,选择TortoiseSVNUpdate To Revision,在提示框内输入指定的版本号,即可更新到指定的版本。3.2.13Relocate 重新定位重新定位当服务器上的版本库目录已经改变,我们可以把工作拷贝重新定位,在“ To URL”框中输入新的地址。使工作拷贝与新的版本库地址重新关联。在 To URL输入框中输入新的URL地址,一直选择“OK”即可。3.2.14Show log 显示日志显示日志TortoiseSVNShow-Log,系统弹出日志信息,包括版本号,作者,更新日期,日志信息(

19、如图):输入版本库新的URL地址默认为服务器当前最新版本可指定版本号,任一版本此外,SVN还自带了简单的统计功能。点击日志信息框右下角的Statistics按钮,系统显示统计信息,subversion有三种统计选择:Statistics,Commits by week,Commits by author,效果图如下:3.2.15Revision graph 版本树显示版本树显示TortoiseSVNrevision graph,它可以把对此目录所做的所以操作以图形化的形式显示出来,详细记录每一步所做的操作,相当于“show log”的一个图解,如图所示:3.2.16Create (apply)

20、 patch 创建(应用)补丁创建(应用)补丁如果你对一个文件没有修改权限,但是迫于形势,你又必须对这个文件进行修改,这时你可以用creat patch 创建补丁,然后把你创建的补丁发给对此目录有写权限的用户,让他执行app y patch后,你所做的修改就会被提交到服务器上。3.2.17resolved 冲突已解决冲突已解决当两人对同一文件进行编辑时,一个人先提交,另一个人再进行提交的时候就会出现冲突,并提醒你必须先更新你的工作拷贝后才能对这个文件进行修改,如下图:如对“new.txt”文档,已经有另外一个用户修改,并提交。你在自己的工作区修改后,要提交到服务器的时候,会出现以下报错:这时就

21、要解决冲突,首先要更新你的本地工作拷贝,执行update后,你的工作文件夹会出被叹号图标覆盖,提示有冲突需要解决。文件所在的工作区会出现如下图所示的文件:这时选中被叹号图标覆盖的文件(出现冲突的文件),右键,Tortoise SVNEdit conflicts,会出现如下图所示,这时你就可以对出现的冲突文本进行编辑,选定你最终想要的文档,就是所谓的“Merge”合并操作。根据需要选择合并的操作选项,use test black from “theirs”(合并后只保留他人的修改),use test black from “mine”(合并后只保留我的修改),use test black fro

22、m “mine”before“theirs”(合并两人的修改,我的修改内容放置在他人的修改出现冲突的文件我修改后的文件原始文件别人修改后提交的文件别人的修改我的修改合并的版本之前),use test black from “theirs”before“mine” (合并两人的修改,他人的修改内容放置在我的修改之前)。如图示,选择了use test black from “theirs”before“mine” (合并两人的修改,他人的修改内容放置在我的修改之前),效果如下:确认修改完成后,保存修改。右键,Tortoise SVNResolve最终确定的合并生成的内容合并完成后的文件,会被红色感叹号图标覆盖。执行一次commit,把修改提交上去,新版本生成。注:SVN只支持二进制文件的内容合并。所以,为了减少冲突及合并产生的风险,你在修改文档前务必先update,保持工作区与服务器最新版本一致。对于非二进制文件,建议使用加锁(get lock)功能。3.3SVN的使用规范的使用规范3.3.1及时提交更新(及时提交更新(commit)开发人员每次修改,或者新增、删

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论