SVN使用说明.ppt_第1页
SVN使用说明.ppt_第2页
SVN使用说明.ppt_第3页
SVN使用说明.ppt_第4页
SVN使用说明.ppt_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

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

文档简介

1、,SVN使用说明,Version 1.0,SVN简介 SVN登录方法 工作周期 服务端其他相关操作 分支与合并 SVN与Eclipse的集成使用 SVN与.net的集成使用,一、SVN的简单介绍,配置管理工具Subversion,简称为SVN,是一个开源的版本控制系统,可以实现文件及目录的保存及版本回溯。SVN将文件存放在中心版本库里,它可以记录文件和目录每一次的修改情况,这样我们就可以籍此将数据恢复到以前的某个版本,并可以查看更改的细节。也就是说,一旦一个文件被传到SVN上面,那么不管对它进行什么操作,SVN都会有清晰的记录,即使它在N天前被删除了,也可以被找回来。 SVN是一种集中的分享信

2、息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。,二、登录SVN版本库的方法 首先在本机安装SVN客户端,客户端软件上的TortoiseSVN 可以从ftp:/hhkj:hhkj /办公软件/SVN安装工具/SVN客户端安装工具上下载,里面还放了一个汉化包。具安装方法详见配置管理工具应用指南。安装完成之后,点击鼠标右键,会出现下图,点击Repobrowser版本库浏览:这是个版本库的浏览工具,点击它之后,会出现下面的小对话

3、框:,在URL里面输入你要键接的版本库,输入方法为:svn://所在版本库名称,如微机监测组的配置库为:svn://微机监测(记得svn是小写字母的),点“OK”进入登录界面。如果以前登录过,SVN会自动记录登录历史。登录界面如下:,输入用户名和密码即可进入所在的版本库。登录帐号由配置管理员分配,客户端不能修改密码,建议选择“Save authentication”,这样下次不用输入帐号便会自动登录,且在版本库里面的每一个操作也不用输入帐号来进行验证。登录后的界面如下:,这是微机监测项目的版本库目录结构,三、工作周期,如何用SVN对本地的一个文件进行版本

4、化的管理? 首先要把该文件添加到版本库。在版本库单击右键Add file,写Log日志,便于以后查看。对于系统自动生成的日志可以自行修改。,注:如果想把一个文件夹里面的所有东西都添加到版本库,有两种方法:在客户端选中该文件夹,单击右键Import,在Import对话框中,输入你想在版本库中存放的地方,确定即可;在服务端右键Add folder。,在客户端新建一个文件夹;然后在服务端,选中刚才添加进去的文件的上一级文件夹,右键Checkout,可以看到从版本库检出的文件被打上了一个,表示受版本控制。此后对此文件所做的任何操作,只要提交过,都会在服务端被记录保存下来。想查看任何一次的修改情况,只要

5、单击Show Log即可。,修改该文件后提交,编辑保存后,该文件由变为!,这时可以对此文件执行SVNCommit 提交操作,那么编辑的内容便会提交到服务器上,以便大家共享你的工作成果。提交成功后,版本库号会上升一次,同时提交的文件状态由! 变为. 注:对于不是只有自己可以修改的文件,每次编辑操作之前,都要对本地工作拷贝执行Update的操作,以保证本地工作拷贝与服务器项目版本库内容保持一致。如果这时有人对它做了修改,修改的内容便同步到你的工作拷贝上。如果你不想要别人的修改,可以执行Update to revision (返回到版本),返回到你想要版本,然后再做修改。此时在提交的时候,就会提示存

6、在冲突。 解决冲突 解决冲突之前,先Updaten你的工作拷贝,本地工作拷贝变为,我修改后的文件,出现冲突的文件,原始文件,别人修改后已提交的文件,这时选中第一个文本,右键,在“TortoiseSVN“中选择“Edit conflicts”会出现如下图所示,这时你就可以对出现的冲突的文件进行编辑,选定你最终想要的文档。这就是所谓的“Merge”合并操作。在出现冲突以及应用分支时会经常用到合并的功能。,合并完毕后,执行Resolved,则新的版本就被生成了。,1、 Show log:查看日志 点击此按扭,会显示当前目录下的所有文件和目录日志的信息。,四、服务端其他相关操作,2、Revision

7、graph :版本树显示,选中目录,点击它可以把对此目录所做的所有操作以图的形式显示出来,并可以记录每一步都进行了什么操作,相当于“Show log”的一个图解,如下图所示:,表示版本号5是新添加进去的文件,修改了文件的名字,建立了分支,当前该分支的最新版本,3、Create Folder:可以在自己有权限的目录下新建一个文件夹。 4、Export:导出 用此命令,指定路径,便可导出一个干净的目录树,所谓“干净的”就是导出的文件不受SVN的版本控制。默认的是导出当前版本的目录内容,当然也可以指定你想导出的版本。 5、Copy to working copy:把当前目录拷贝到本地工作拷贝 这个本

8、地工作拷贝必须是已经受版本控制的文件夹,执行此命令后,当前目录便会在本地工作拷贝显示预添加的符号。如:把“信息平台”执行Copy to working copy到本地工作拷贝的“0过程记录”中,就会出现下图,绿色的对号表示此目录是从服务器上“Checkout”出来的受版本控制的本地工作拷贝,蓝色的加号表示此文件预添加到服务器上。,此时对它执行“SVN Commit”命令,信息平台”便会成功提交到服务器上“0过程记录”的目录下面。,6、Copy to:拷贝到 用此命令可以在当前版本库中建立分支(标签/基线),SVN允许并行的维护文件和目录的分支,各个分支间互相联系,也可以从一个分支复制修改到另一

9、个分支,最终,可以让本地工作拷贝反映到不同的分支上,所以在日常的工作中,可以“混合和比较”不同的开发线。分支与合并将在后面做详细的介绍。,四、客户端其他操作,Switch:切换 把你的工作拷贝切换到另个的URL(服务器目录),服务器端目录有所变化,所存储的文件位置发生了变化,那么对你的工作拷贝进行编辑后就会出现提交不上去的情况,这时就要执行Switch操作,使你的工作拷贝切换到服务器端对应的目录下面,即可再进行提交。Switch操作只限于版本库内的切换。 还有,如果在服务端对一个文件重新命名后,而客户端只需更新一下就可以与服务端同步;如果修改前没有更新,则提交的时候会出现错误,此时需用Swit

10、ch命令,把名字改成服务端的名字即可,然后可在提交,提交后会发现本地工作拷贝既有改明前的文件也有改名后的文件,而且都打上了绿色的对号,此时把老的detelate即可。如果用windows的删除选项,则不能完全的删除,一旦在执行update操作,还能回来。 Relocate:重新定位 它和Switch的功能是一样的,不同的是,它实现的是版本库与版本库之间的切换。当服务器地址或版本库名称发生变化时,可以用些命令来更新你的工作拷贝。 Add:添加 当你的工作拷贝出现一个新的文件时,执行此命令可以让这个新的文件添加到服务器端。当然也可以在服务器端的用“Add file”、“Add folder”来实现

11、文件的添加。 Create(Apply) patch 创建(应用)补丁 如果你对这个文件没有修改的权限,但是迫于形势,你又必须对这个文件进行修改,这时你就可以用Create patch 创建补丁,然后把你创建的补丁发给对此目录有写权限的工作人员,他执行Apply patch后,你所做的修改就会被提交到服务上。,Import :导入 这是一种批量向服务器上添加文件的方法,可以把本地的文件或文件夹添加到服务器上的某个目录下面。值得注意的是,本机导入到目标服务器上之后,本机目录并没有改变,也并不是工作拷贝,如果要对文件再做修改并能提交到服务器上的话,必须先从服务器上把文件“checkout”出来之后

12、,再做修改提交(即必须先建立本地工作拷贝) Export:导出 在客户端用此命令,可以把工作拷贝上的文件拷贝到本机其他地方;在服务器端用此命令,指定路径,便可导出一个干净的目录树,所谓“干净的”就是导出的文件不受SVN的版本控制。默认的是导出当前版本的目录内容,当然也可以指定你想导出的版本。 Get Lock:锁定 如果你把一个文件锁定,那么只有你可以提交这个文件。其他用户的提交都会被拒绝,直到你释放了这个锁。一个被锁定的文件不能在库中进行任何形式的合并。所以它不能除锁的拥用者之外的人删除或更名。 Release Lock:解锁 如果你对自己锁定的文件进行提交,选中的文件的锁就会被自动解除,就

13、算你从没有修改过。使用Release Lock命令可以手动释放锁定,你可以对一个文件夹来使用这个命令释放其中的所有锁定项。,五、分支与合并,1、分支的概念,先用例子来说明下分支的概念: 假定tc.c发行版1.0已完成。正在继续开发tc.c,计划在2个月后发行1.1的版本。不久客户开始抱怨说代码有些问题,检出了1.0的发行版,找到了这个错误(这将会有一个小小的更正)。但是,当前代码的版本是处在一个不稳的状态,并且在下一个月才能有希望稳定下来。这样就没有办法基于最新代码去发行一个修复错误的版本。 这种情况下就可以去创建一个分支(branch),分支所有文件是构建于tc的1.0发行版。可以修改这分支

14、而不影响到主干。当修订完成时,你可以选定是否要把它同主干合并或继续保留在这个分支里。 再比如说,如果我们在维护一个项目组的文档,但有一天,另一个项目组也要这份文档,但要有一些不同的改动,因为他们有不同的需要,这个时候,也可以对这个文档建立一个分支。 因此,分支可以是项目的分支也可以是个人私有的分支。 项目分支:如果两个项目的并发开发是基于同一个原始版本的拷贝,且这两个项目又互不相扰的进行独立开发,那么这两条开发线对于原来的那个原始版本来说,就是项目分支,而原始版本就是项目主干。 私有分支:如果多个人共同负责一个模块,当出现两个人同时修改一个文件的情况时,就会不断的出现冲突,开发人员就要花大量的

15、时间解决这些冲突,而在分支上工作避免了频繁的解决冲突。这种分支也叫作私有分支,个人可以在主干,上建立一个私有分支出来,当开发到一定的阶段以后,可以再对自己分支与主干进行合并,在与主干进行合并的同时,也能关注到其他人在这一段时间内对主干做的修改。 分支开发完成之后可以根据需要和主干进行合并。,2、分支的建立 分之的建立有两种方式: 在本地工作拷贝右键选“Branch/Tag”跳出下面的对话在框:,输入名字,点击OK即可在版本库看到一个该名字的文件夹,分支建立成功。,在服务端选中一个目录后,右键点击“copy to”会出现一个对话话框,如下图所示,在里面输入要建立新分支的地址,分支也可以建立。,所

16、谓的分支其实就是一个拷贝,把原目录内容拷到一个新的目录下面,但是,这个拷贝并不是真正意义上的拷贝数据,它只是建立了一个已存在目录树的入口,相当于一个硬链接,如果提交一个文件的修改,只有这个文件改变了,其余的文件还是作为原来的文件的链接存在。也就是说,SVN里面,分支和标签其实都是“廉价的拷贝”,所以,在执行拷贝命令的时候,花费的时间与空间代价很小。,3、分支的合并,上面已经提到了,不管是项目分支还是个人私有分支,在工作了一段时间后都可以根据需要和主干进行合并,合并的方法为: (1)如果是需要将主线的改动合并到分支上,需要在分支的工作拷贝下进行合并,合并的范围是需要从主干上上次合并的版本到当前主

17、干上最新的版本,如果主线和分支都修改了相同的文件,合并后会出现冲突,然后解决冲突,如果主线修改但是分支没有修改,则主线上合并的变更内容会增加到当前副本中,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号 (2)如果是需要将分支的改动合并到主线上,需要在主线的工作副本下进行合并,合并的范围是需要从分支上上次合并的版本到当前分支上最新的版本,合并后会出现冲突,然后解决冲突,提交,如果是第一次合并,则起始版本号是上次建立分支的版本号。,主干路径,上一次合并的版本或是建立分支时候的版本,主干当前的版本,自己的分支,即合并保存的路径,点击“Merge”便可把合并的信息保存到本地分支工作拷贝目录

18、下,合并的过程与前面讲到的解决冲突的过程是样的。在此不再重复讲述。 当然,也可以对主干进行合并,只要在主干的本地工作拷贝,执行上述过程即可。,现在以第一种方式将主干的改动合并到分支,那么在本地分支工作拷贝点击右键,选“Merge”跳出下面的对话框:,六、SVN与Eclipse的集成使用,在Eclipse下安装SVN插件Subclipse 安装方法详见SVN和Eclipse集成使用指南。插件下载地址ftp:/hhkj:hhkj /办公软件/SVN安装工具/SVN和Eclipse插件。 工作流程 1从SVN中取出项目 SVN与Eclipse集成后,可以在Eclipse环境中直接

19、检出(Checkout)SVN版本库 中的内容,以下将对其检出的过程做详细讲解。 首先在空白处(或在文件菜单下)右键选择“Import”如下图所示: 注意:这里的“Import”与SVN单独客户端的“Import”不同,单独客户端中“Import” 是指把本地目录的内容传到SVN服务器端,而在Eclipse中,“Import”是指把SVN版 本库中的内容检出(Checkout)到Eclipse开发环境中。,如果你的目标版本库已经被列出,可直接选择“使用现有的资源库位置”如果没有被列出,可以选择创建,,输入版本库路径,出现登录窗口。,输入用户名和密码即可登录到版本库。,然后选择想要导入的文件。,

20、键入项目名称,这个名称就相当于本地工作拷贝的名称。当然,也可以把其添加到已有的工作空间目录下面。,输入项目的名称,点“Finish”后,所选内容就会被检出出来了。选择其中文件,右键team,如下图所示,可以看到,里面的菜单与SVN的客户端菜单一样,2新建的项目加入到SVN版本库,在Eclipse中新建一个项目后,选中这个项目,右键“team”选择“share project”即共享项目,如下图所示:,版本库类型选择“SVN”,这时,系统自动会提示我们所建立的项目(在工作空间)不是本地工作拷贝,如下图所示:,点“OK”进入到下一界面,选择要将项目导入到哪个版本库,如果下面没有列出的话,就选择“创

21、建新的资源库位置”,然后把你的版本库地址列入即可,要注意的是,Eclipse中所指的资源库,是指SVN中的版本库。,使用项目名称作为版本库中目录的名称如下图所示,如果想另外指定项目名称也可重新命名。,点“finish”如下图所示,相当于SVN中提交的界面,输入注释,选择要添加的内容,点“OK”即可,这样,新建的项目就被添加到指定项目版本库中了。,同时在SVN中,刚刚新添加进来的项目也会显示出来。 在Eclipse的环境中javatest项目的team中也会出现SVN的菜单,如下图所示:,七、SVN与.net的集成使用,安装.net和SVN插件VisualSVN。安装方法详见SVN与.net集成指南。插件下载地址ftp:/hhkj:hhkj /办公软件/SVN安装工具/VisualSVN。 工作流程 把已有的项目加入到SVN版本库。 打开.net环境后,点菜单栏里VisualSVN会出现如下对话框,或用右键点击项目也会出现“Add Solution to Subversion”两个的操作方法是一样的。,在跳出的对话框中输入

温馨提示

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

评论

0/150

提交评论