Subversion操作手册_第1页
Subversion操作手册_第2页
Subversion操作手册_第3页
Subversion操作手册_第4页
Subversion操作手册_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、附录三 subversion操作手册环境模拟现有项目名称:test服务端版本库:testurl:0:81/svn开发人员:deva,devb版本库目录结构: test doc(word文档) soc(源代码) word_1 word_2 soc_1 sod_21 基本操作1.1 安装客户端下载tortoisesvn-3783-win32-svn-1.5.2.msi安装程序,双击直接安装即可。安装成功后,右键单击鼠标会多出两个选项,分别是svn checkout和tortoise svn。1.2 建立工作区项目开始之前,在本地pc的硬盘上,创建一个

2、文件夹,文件夹命名随意(例如workspace),该文件夹即作为软件开发者在项目开发过程中的工作区。1.3 下载版本库 假如现在开发一个项目,配置管理员会在服务端建立一个该项目的版本库test。在workspace文件夹上,右键单击鼠标。选择svn checkout,会出现如下窗口图 11.1.3-1在url of repository中输入版本库地址,0:81/svn/test ,在checkout dir中系统会自动添加第二步所创建的工作区目录。在revision中,选中head revision,这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件

3、,可选中revision,然后填入版本号即可。如果不想下载整个版本库,而是只想下载自己负责的那部分模块,可以在url后添加模块名,例如0:81/svn/test/doc 。单击ok,输入用户名和密码1.4 修改版本库对版本库的修改包括修改文件内容,添加删除文件,添加删除目录。经过第三步的操作,本地的工作区文件夹,即workspace上会有绿色对勾出现,工作区下的文件也会带有绿色对勾,如图: 图11.1.4-1如果对库中某一个文件进行了修改,系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号,代表该文件或目录已经在本地被修改,如图:图11.1.4-2当

4、所有对版本库的修改操作完毕后,右键单击工作区文件夹,选择commit提交新版本,输入密码后系统将把修改后的版本库上传到服务端,即完成一次对版本库的更新。 注意:新版本提交之后,其他拥有写权限的用户也许会重复以上几步的操作,完成对版本库的再一次更新。所以,每次在工作区文件夹下修改本地版本库之前,必须首先对本地版本库执行一次更新(右键单击工作区,选择svn update),将最新的版本下载到本地,然后再进行修改操作。2 其他操作在日常的软件开发过程中,除了以上介绍的下载,提交,更新操作外,还有另外几种常用操作。2.1 强制日志填写代码提交时必须写明注释以便追踪问题及合并,可使用工具在客户端强制添加

5、注释,选择checkout的文件夹,单击此文件夹右键单击属性,如图:图11.2.1-1亦可使用服务器端控制日志填写。如果未填写日志,则不可完成提交功能,弹出如下图中的信息。2.2 功能提交(1)更新工程文件夹。选中工程所在的文件夹后,右键单击文件夹,选择update。更新工程所有文件。(2)更新完成之后,查看日志,注意其他开发者提交代码后可能影响你开发的地方。确认无误,无冲突。(3)选中工程所在文件夹,右键单击文件夹,选择commit。(4)勾选出所提交的文件及文件夹,并撰写相应的提交日志。包括功能简要描述、部署时需注意情况、修改数据库表等。提醒其他开发者需要注意的地方。图11.2.2-1(5

6、)确认无误后提交。2.3 锁定-修改-解锁(1)更新工程文件夹。选中工程所在的文件夹后,右键单击文件夹,选择update。更新工程所有文件。(2)选择某文件,右键单击选择get lock,并输入必要说明。图11.2.3-1图11.2.3-2(3)提交后看到“锁定”说明。其他人在svn浏览器中也可以看到。图11.2.3-3其他人在svn浏览器中也可以看到。锁定文件的用户。图11.2.3-4(4)修改文件后,右键单击文件commit,填写相关日志,并选择是否还要继续锁定。需要则勾选,图11.2.3-5(5)如果不勾选,提交之后则表示自动解锁。svn浏览器中看不到锁定文件的用户。图11.2.3-62

7、.4 比较文件的不同之处当对soc_1做了修改之后,soc_1文件会出现红色叹号,表示已经修改,如果想查看修改后的soc_1文件与修改前有何不同,可以右键单击此文件,选择diff,系统探出一个窗口,如图3,窗口分为两个部分,左边为更改之前的版本,右边为更改之后的版本。并在不同之处作出标记和说明。如图:图11.2.4-1 如果是word文档的话,选择diff之后,系统会打开一个word文档,并在其中标出修改后的版本与修改前有何不同。如图:图11.2.4-12.5 查看日志 如果想查看一个文件的日志,例如soc_1,右键单击这个文件,选择show log,系统会踏出一个窗口,并在窗口中显示soc_

8、1各个版本的log。如图:图11.2.5-12.6 查看版本树 如果想查看soc_1文件的版本树,右键单击该文件,选择revision graph,系统将会打开一个窗口,并在窗口中显示该文件的版本树。如图:图11.2.6-1 之所以只显示了四个版本,是因为选择了只显示发生过变化的版本。即.7每一个版本都有不同的地方,都是经过用户修改后提交的。而2.3两个版本是与版本1相同的。2.7 下载某个文件的旧版本 如果想要得到某个文件的旧版本,只需在该文件上单击右键,选择update to revision即可。系统会提示输入版本号。例如要下载soc_1的第五个版本,只需填入

9、5即可。如图7。查看完版本5的文件后,如果想在此回到最新版本,只需要对soc_1运行update即可。图11.2.7-12.8 重名名和删除文件 如果要删除一个文件或重名名一个文件,注意不要在windows下直接操作。只需右键单击该文件,选择rename或delete,svn系统便会完成操作。 在workspace中将文件重命名或删除后,服务端的文件结构不会变化,只有当提交新版本库后,即commit后,服务端的文件结构才会被更新。 如果误删除了文件,在没有提交版本库之前,可以通过对版本库的升级将文件重新下载到本地的版本库,也可以通过revert恢复(参考第八条)。如果文件删除,并且已经提交,那

10、么要找回文件只能通过下载旧版本库来完成,参考1.3下载版本库。2.9 创建分支 版本库中最初的文件soc_1,soc_2,word_1,word_2都是主干文件。如果想要为soc_1创建一个分支,只需右键单击soc_1,选择branch/tag,系统会弹出一个窗口,如下图。在窗口中,from url表示要创建的这个分支是soc_1的分支(系统会自动添加,不必更改)。在to url中,需要更改一下文件名,在文件名后加一个标志即可,例如“_branch”,路径不需要更改。在creat copy in the repository from中,可以选择分支文件是由soc_1的那一个版本拷贝来的。最后

11、填写日志,选择ok。图11.2.9-1分支创建完毕,update版本库,系统会将soc_1的主干文件和分支文件soc_1_branch同时下载到本地版本库,如图8.1,然后即可在分支文件上进行操作。此时soc_1的版本树如图8.2图11.2.9-2图11.2.9-32.10 合并分支2.10.1 使用svn自带合并方式当需要把soc_1_branc分支文件合并到soc_1主干文件时,右键单击soc_1,选择merge,会弹出一个窗口,如图9。图-1在from输入框中填入主干的url,在to输入框中填入分支的url。在from和to中,都有两个选项head revision和r

12、evision,表示要进行合并的是soc_1的那个版本。合并之后主干文件会标注红色叹号,表示已被修改,并可以提交。如果合并后文件标注的是黄色叹号,表示文件有冲突,处理方法见“3 异常处理”。2.10.2 使用araxis merge工具合并处理使用其他工具进行合并处理时,首先要在svn中设置使用此工具。在setting-diff中填入c:program filesaraxisaraxis merge v6.5merge.exe;在setting-merge的选项中,填入c:program filesaraxisaraxis merge v6.5merge.exe %theirs %mine %

13、merged ;其中c:program filesaraxisaraxis merge v6.5merge.exe是指合并工具的路径,%theirs %mine %merged分别指.将要合并到主干的分支,主干,及合并后的结果。图 .-1合并者deva先把主干check out到本地。然后在主干的目录上右键选择svn-merge,弹出如下窗口: 图 -2 合并对话框此对话框的含义是把from指定的分支版本到to指定的分支版本之间的差异合并到主在这里分支选的是revision 6。版本号的选定方法是点击from中的show log,在log窗口中按住ctrl键

14、,点击选择”made a copy”之上的那个版本,以及revision 4版本,如图10.2所示。然后点击确定回到上图中的对话框,会自动填写from与to中的revision号。图-3选择需要合并的版本然后直接点击merge进行合并,你也可以通过dry run来看是不是两者之间有差异。如果没有其它人修改主干,合并会很顺利。合并完毕之后,由合并者deva对主干进行提交。如果有其他人修改主干,则有可能会产生冲突,处理方法详见下面的“3 异常处理”2.11 撤销修改当对一个文件进行了修改并保存后(注意此处并没有进行提交),如果对修改不满意,想要重新修改,可以右键单击修改过的文件(

15、带红色叹号的那个),然后选择revert,前面的一系列修改便会被撤销,恢复到update之后的状态。如果一个文件被误删除,也可通过右键单击该文件所在的目录,选择revert来恢复。3 异常处理此处所说的异常主要是指文件发生冲突。以用户deva和用户devb为例,当两个用户同时下载了最新的版本库,并对库中同一个文件soc_2进行修改提交时,首先提交的用户deva不会发生异常,第二个提交的用户devb便会出现无法提交的现象。因为服务端的版本库已经被deva更新,devb用户在上传时,系统会提示出错如图11。图11.3-1在这种情况下,devb用户需要首先对修改的文件进行update文件操作。如果两

16、个用户修改了文件soc_2的同一个地方,则在devb用户执行update后,系统会将本地的soc_2与从服务端下载soc_2合并到一个文件上,并在该文件图标上标上黄色叹号,表示文件出冲突。可以自行解决或利用工具解决出现的冲突。3.1 自行解决冲突在出现黄色叹号的文件中通过“”标识冲突位置和冲突内容。devb用户只有与deva协商,将该冲突处理,之后单击右键,选择resolve,冲突标记消除,才能够再次提交,否则无法提交。文件标记冲突的格式: .r15绿色部分表示本地文件的修改蓝色部分表示服务端版本库中的最新版本与本地文件修改发生冲突的地方。紫色表示是第15个版本发生了冲突3.2 使用工具解决冲突deva提交完毕之后,devb要将他的文件同样提交上去,方法同上。但是由于deva已经修改过

温馨提示

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

评论

0/150

提交评论