《Subversion操作手册范本.doc》由会员分享,可在线阅读,更多相关《Subversion操作手册范本.doc(17页珍藏版)》请在三一办公上搜索。
1、附录三Subversion操作手册环境模拟现有项目名称:test服务端版本库:testURL:10.155.11.10:81/svn开发人员:devA,devB版本库目录结构:testDocword文档 Soc源代码 word_1 word_2 soc_1 sod_21根本操作1.1 安装客户端下载TortoiseSVN-安装程序,双击直接安装即可。安装成功后,右键单击鼠标会多出两个选项,分别是SVN checkout和Tortoise SVN。1.2 建立工作区项目开始之前,在本地PC的硬盘上,创建一个文件夹,文件夹命名随意例如workspace,该文件夹即作为软件开发者在项目开发过程中的工
2、作区。1.3 下载版本库 假设现在开发一个项目,配置管理员会在服务端建立一个该项目的版本库test。在workspace文件夹上,右键单击鼠标。选择SVN checkout,会出现如下窗口图 -1在URL of repository中输入版本库地址,10.155.11.10:81/svn/test ,在Checkout dir中系统会自动添加第二步所创建的工作区目录。在Revision中,选中HEADrevision,这样将会下载到版本库的最新版本。如果想下载库中的旧版本文件,可选中Revision,然后填入版本号即可。如果不想下载整个版本库,而是只想下载自己负责的那局部模块,可以在URL后添
3、加模块名,例如10.155.11.10:81/svn/test/Doc 。单击OK,输入用户名和密码1.4 修改版本库对版本库的修改包括修改文件内容,添加删除文件,添加删除目录。经过第三步的操作,本地的工作区文件夹,即workspace上会有绿色对勾出现,工作区下的文件也会带有绿色对勾,如图:图-1如果对库中某一个文件进展了修改,系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号,代表该文件或目录已经在本地被修改,如图:图-2当所有对版本库的修改操作完毕后,右键单击工作区文件夹,选择mit提交新版本,输入密码后系统将把修改后的版本库上传到服务端,即完成一次对版本库的更新。 注意:新版
4、本提交之后,其他拥有写权限的用户也许会重复以上几步的操作,完成对版本库的再一次更新。所以,每次在工作区文件夹下修改本地版本库之前,必须首先对本地版本库执行一次更新右键单击工作区,选择SVN Update,将最新的版本下载到本地,然后再进展修改操作。2 其他操作在日常的软件开发过程中,除了以上介绍的下载,提交,更新操作外,还有另外几种常用操作。2.1 强制日志填写代码提交时必须写明注释以便追踪问题与合并,可使用工具在客户端强制添加注释,选择checkout的文件夹,单击此文件夹右键单击属性,如图:图-1亦可使用服务器端控制日志填写。如果未填写日志,如此不可完成提交功能,弹出如如下图中的信息。2.
5、2 功能提交1更新工程文件夹。选中工程所在的文件夹后,右键单击文件夹,选择update。更新工程所有文件。2更新完成之后,查看日志,注意其他开发者提交代码后可能影响你开发的地方。确认无误,无冲突。3选中工程所在文件夹,右键单击文件夹,选择mit。4勾选出所提交的文件与文件夹,并撰写相应的提交日志。包括功能简要描述、部署时需注意情况、修改数据库表等。提醒其他开发者需要注意的地方。图-15确认无误后提交。2.3 锁定-修改-解锁1更新工程文件夹。选中工程所在的文件夹后,右键单击文件夹,选择update。更新工程所有文件。2选择某文件,右键单击选择get lock,并输入必要说明。图-1图-23提交
6、后看到“锁定说明。其他人在SVN浏览器中也可以看到。图-3其他人在SVN浏览器中也可以看到。锁定文件的用户。图-44修改文件后,右键单击文件mit,填写相关日志,并选择是否还要继续锁定。需要如此勾选,图-55如果不勾选,提交之后如此表示自动解锁。SVN浏览器中看不到锁定文件的用户。图-62.4 比拟文件的不同之处当对soc_1做了修改之后,soc_1文件会出现红色叹号,表示已经修改,如果想查看修改后的soc_1文件与修改前有何不同,可以右键单击此文件,选择diff,系统探出一个窗口,如图3,窗口分为两个局部,左边为更改之前的版本,右边为更改之后的版本。并在不同之处作出标记和说明。如图:图-1
7、如果是word文档的话,选择diff之后,系统会打开一个word文档,并在其中标出修改后的版本与修改前有何不同。如图:图-1 如果想查看一个文件的日志,例如soc_1,右键单击这个文件,选择show log,系统会踏出一个窗口,并在窗口中显示soc_1各个版本的log。如图:图-1 如果想查看soc_1文件的版本树,右键单击该文件,选择Revision graph,系统将会打开一个窗口,并在窗口中显示该文件的版本树。如图:图-1 之所以只显示了.7四个版本,是因为选择了只显示发生过变化的版本。即1.4.5.6.7每一个版本都有不同的地方,都是经过用户修改后提交的。而2.3两个版本是与版本1一样
8、的。 如果想要得到某个文件的旧版本,只需在该文件上单击右键,选择Update to revision即可。系统会提示输入版本号。例如要下载soc_1的第五个版本,只需填入5即可。如图7。查看完版本5的文件后,如果想在此回到最新版本,只需要对soc_1运行Update即可。图-1 如果要删除一个文件或重名名一个文件,注意不要在windows下直接操作。只需右键单击该文件,选择Rename或Delete,SVN系统便会完成操作。 在workspace中将文件重命名或删除后,服务端的文件结构不会变化,只有当提交新版本库后,即mit后,服务端的文件结构才会被更新。 如果误删除了文件,在没有提交版本库之
9、前,可以通过对版本库的升级将文件重新下载到本地的版本库,也可以通过revert恢复参考第八条。如果文件删除,并且已经提交,那么要找回文件只能通过下载旧版本库来完成,参考。 版本库中最初的文件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 r
10、epository from中,可以选择分支文件是由soc_1的那一个版本拷贝来的。最后填写日志,选择OK。图-1图-2图-3 使用SVN自带合并方式当需要把soc_1_branc分支文件合并到soc_1主干文件时,右键单击soc_1,选择Merge,会弹出一个窗口,如图9。图.1-1在From输入框中填入主干的URL,在To输入框中填入分支的URL。在From和To中,都有两个选项HEAD Revision和Revision,表示要进展合并的是soc_1的那个版本。合并之后主干文件会标注红色叹号,表示已被修改,并可以提交。如果合并后文件标注的是黄色叹号,表示文件有冲突,处理方法见“3 异常处
11、理。 使用Araxis Merge工具合并处理使用其他工具进展合并处理时,首先要在SVN中设置使用此工具。在Setting-Diff中填入C:Program FilesAraxisAraxis Merge v6.5Merge.exe;在Setting-Merge的选项中,填入C:Program FilesAraxisAraxis Merge v6.5Merge.exe %theirs %mine %merged ;其中C:Program FilesAraxisAraxis Merge v6.5Merge.exe是指合并工具的路径,%theirs %mine %merged分别指.将要合并到主干
12、的分支,主干,与合并后的结果。图11合并者devA先把主干check out到本地。然后在主干的目录上右键选择svn-merge,弹出如下窗口:图.2-2 合并对话框此对话框的含义是把From指定的分支版本到To指定的分支版本之间的差异合并到主在这里分支选的是Revision 6。版本号的选定方法是点击From中的Show Log,在Log窗口中按住Ctrl键,点击选择made a copy之上的那个版本,以与Revision 4版本,如图10.2所示。然后点击确定回到上图中的对话框,会自动填写From与To中的Revision号。图.2-3选择需要合并的版本然后直接点击merge进展合并,你
13、也可以通过dry run来看是不是两者之间有差异。如果没有其它人修改主干,合并会很顺利。合并完毕之后,由合并者devA对主干进展提交。如果有其他人修改主干,如此有可能会产生冲突,处理方法详见下面的“3 异常处理当对一个文件进展了修改并保存后注意此处并没有进展提交,如果对修改不满意,想要重新修改,可以右键单击修改正的文件带红色叹号的那个,然后选择revert,前面的一系列修改便会被撤销,恢复到Update之后的状态。如果一个文件被误删除,也可通过右键单击该文件所在的目录,选择revert来恢复。3 异常处理此处所说的异常主要是指文件发生冲突。以用户devA和用户devB为例,当两个用户同时下载了
14、最新的版本库,并对库中同一个文件soc_2进展修改提交时,首先提交的用户devA不会发生异常,第二个提交的用户devB便会出现无法提交的现象。因为服务端的版本库已经被devA更新,devB用户在上传时,系统会提示出错如图11。在这种情况下,devB用户需要首先对修改的文件进展Update文件操作。如果两个用户修改了文件soc_2的同一个地方,如此在devB用户执行Update后,系统会将本地的soc_2与从服务端下载soc_2合并到一个文件上,并在该文件图标上标上黄色叹号,表示文件出冲突。可以自行解决或利用工具解决出现的冲突。3.1 自行解决冲突在出现黄色叹号的文件中通过“标识冲突位置和冲突内
15、容。devB用户只有与devA协商,将该冲突处理,之后单击右键,选择Resolve,冲突标记消除,才能够再次提交,否如此无法提交。文件标记冲突的格式: .r15绿色局部表示本地文件的修改蓝色局部表示服务端版本库中的最新版本与本地文件修改发生冲突的地方。紫色表示是第15个版本发生了冲突3.2 使用工具解决冲突devA提交完毕之后,devB要将他的文件同样提交上去,方法同上。但是由于devA已经修改正主干,所以产生了冲突,会弹出一个冲突对话框。双击对话框中的产生冲突的文件名,就可以调出工具对此文件进展合并,如下图是我们用merge工具显示的界面。图-11. 首先比拟第一个窗口与第二个窗口,把结果修改合并到第二个窗口。2. 然后确保光标处于第二个窗口时,点击上图中红色圈圈所示的按钮。这样会把第二个窗口的内容全部复制到第三个容口。之后保存,退出。3. 然后在工程目录上点右键,进展SVN-Resolved。这样会删除无用的临时文件。4. 最后提交所作的修改,并添加详细的注释。