欢迎来到天天文库
浏览记录
ID:9750279
大小:1.16 MB
页数:22页
时间:2018-05-07
《svn安装、使用、整合myeclipse8.5开发相关教程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1.SVN简介1.1介绍SVN是Subversion的缩写,即版本控制系统。它是全球最大的分布式协作平台厂商CollabNet所生产的核心产品。SVN方便实现全球开发团队共同开发项目,能够降低设备成本,提高生产效率并可实现管理任何类型文件和追踪版本变更。目前主要的版本控制器包括:第一代的VSS(收费,只能用于windows平台),第二代的CVS(具有跨平台支持的优势,适用于大多数常见操作系统)和第三代的SVN(CVS的下一代产品,是开放源码、全新版本的控制系统,支持在本地访问或通过网络访问数据库和文件系统存储库)以及新一代版本Git(分布式)1.2SVN作用项目开发团队共同使用一个版本库,无需专人维护所有最新版本的文件;方便团队成员在任何能上网连接服务器的地方随时的进行协同工作,大大提高团队工作效率;SVN记录每个文件从诞生到最终完成全过程的每步细节,轻松比较不同版本间的细微差别能够记住每一次文件的变动;能恢复项目到旧的版本,记录文件变动历史方便团员及时了解团队进度。特点:SVN支持所有CVS现有的功能:包括比较、修补、标记、提交、回复和分支等,并在此基础之上增加了事务提交、分支管理、变动跟踪文件拷贝,重命名的处理、对文本文件和二进制文件一致的差异比较算法等新功能。开发者可以很方便地将SVN作为插件应用到各种IDE(集成开发平台)中,如Eclipse、Myeclipse、VisualStudio等2.SVN的安装和运行2.1SVN服务器端安装登陆服务器所在官网:http://subversion.apache.org/(提示转到新地址http://subversion.apache.org/),在页面的右侧找到BinaryPackages 进入后选择最后一个Windows平台然后选择最后一个Win32Svn来下载得到服务器端安装文件本项目使用已下载的1.4版本。然后双击安装文件下一步完成服务器端的安装2.2SVN客户端安装登陆客户端TortoiseSVN的官网:http://tortoisesvn.net/,注意选择下载与服务器版本相同的的客户端。安装文件:TortoiseSVN-1.5.5.14361-win32-svn-1.5.4.msi下载完成后根据提示下一步安装客户端,客户端安装完后提示立即重启(作用是使svn工作拷贝在windows中的特殊样式生效,与所有的实际功能无关)安装完成后在空闲区域右击鼠标,出现如下所示的界面则表示安装成功: 2.3建立版本库运行Subversion服务器需要首先要建立一个版本库(Repository),可以看作服务器上存放数据的数据库,在安装了Subversion服务器之后,可以直接运行。建立方式如下:①使用TortoiseSVN图形化的完成:如上图,在目录F:SVNServer下"右键->TortoiseSVN->CreateRepositoryhere...“,然后可以选择版本库模式两者均可,这里使用默认即可,然后就创建了一系列目录和文件;②启动DOS,运行语句svnadmincreateF:SVNServer就会在目录下创建(对于通过网络访问的服务器的机器,需要设置URL地址为:https://192.168.1.66:8443/svn/SVNServer其中ip地址服务器地址,8443是安装服务器设定的端口(要实现中文可以安装相应的安装包)2.4配置用户和权限通过配置权限可以确定哪些客户端可以连接服务器端使用SVN。找到F:SVNServerrepositoryconf目录,可以看到三个文件:svnserve.conf(核心配置文件,设定是否应用匿名用户及权限、设定用户组、使用密码等)、passwd(配置用户的密码)和authz(确定用户所属组及所具有权限)文件①打开核心配置文件svnserve.conf进行如下修改:找到[general]#anon-access=read#auth-access=write#password-db=passwd#authz-db=authz改为:[general]password-db=passwd//保证去掉#和后面的空格,这表示允许用户设置SVN登陆密码authz-db=authz//同样去掉#和后面空格,保证允许进行用户分组并设置权限anon-access=none//不允许匿名用户来读取信息auth-access=write注意://注意当同时将passwd和authz设置去掉#后会引发找不到资源的错误, 必须修改匿名用户,并不允许其读取信息②修改passwd文件#[users]#harry=harryssecret#sally=sallyssecret改为:[users]//如果[users]前有#,一定保证要删除#harry=harryssecret#sally=sallyssecretbixiaoqing=123//在passwd文件中,“=”前的字符就是用户名,后面的就是密码sunxiaowei=123//在这里设置了两个允许访问服务器的用户,并设置了各自的密码③打开authz文件,修改为[groups]#harry_and_sally=harry,sallyruanjianshijianpingtai=bixiaoqing,sunxiaowei//添加软件实践平台小组,组员有四个人#[/foo/bar]#harry=rw#*=[/]#//表示根目录#[repository:/baz/fuz]#@harry_and_sally=rw#*=r@ruanjianshijianpingtai=rw2.5启动服务器和设置服务器自动重启1.启动服务器:首先需要关闭防火墙,防止系统对SVN的阻止,然后启动SVN,在DOS窗口下输入:svnserve-d–rF:SVNServer启动无误说明成功。注意不要关闭DOS窗口,关闭后svn会自动关闭2.设置服务器随电脑启动自动重启:在cmd命令行输入新建SVN服务的命令(sc是服务命令create创建新服务svnserve服务名称binpath=执行指svnserve.exe的路径空格+执行的SVN内容:svnserve.exe–service–rootF:SVNServer其中SVNServer为资源库)通过控制面板——管理工具——服务可以查看到已经添加的服务SVN双击进入,选择启动类型为自动,并且启动服务 删除任务的命令如下:这样每次启动机器SVN服务器就会自动重启3.SVN的基本使用3.1Checkout检出资源库信息新建文件夹F:\SVNClient作为客户端,进入后右键选择Checkout,输入URL地址(用户名bixiaoqing密码123)会提示Finished!表示连接成功。连接成功后该文件夹会变成绿色的对号正常(checkout方式获得文件后,文件仍处于SVN版本控制中export导出当前版本的数据,文件脱离SVN版本控制) 3.2Add新资源到服务器选择要添加文件—右键add—提交(此时该文件变为这表示有一个文件或是目录已经被计划加入版本控制)—右键Commit(可以选择填写相应的message介绍信息)—OK此时文件变成对号图标表示提交文件成功冲突产生3.3Edit修改SVN文件选择要修改的文件并进行修改,这时修改的文件出现叹号标志——右键选择SVNCommit,填写修改信息后提交就OK。通过右键—showLog可以查看版本之间的差异在版本1上右键->Comparewithworkingcopy,我们可以比较工作拷贝的文件和版本1的区别 3.4Update操作每天早上编码之前,首先要更新Update你的工程(必须更新)。为了保证本地客户端的内容是和服务器上仓库最新的,然后在commit。在文件夹中右击,选择"Update"命令,就会自动从SVN服务器上下载文件到客户端。当修改一个页面后,也应先update,再commit,防止冲突。否则提交时会报错 3.5Delete操作删除操作有两种,一种是本地删除,这一种不删除服务器的内容。另一种是同时删除本地和服务器端的内容。本地删除:右击要删除,然后选择"delete"命令。服务器删除:选中你想删除的文件,右击,然后TortoiseSVN->Delete。当你完成删除操作之后,必须执行"commit"命令(当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了)4.SVN整合Myeclipse8.5将SVN和Myeclipse8.5进行整合,将Myeclipse8.5作为一个客户端来进行项目的开发。4.1Myeclipse8.5的SVN插件安装1.到官网http://subclipse.tigris.org/下载文件,从中解压出features与plugins文件夹,找到MyEclipse8.5根目录C:ProgramFilesGenuitecMyEclipse8.5,在其下新建名为SVN的文件夹,并将这features与plugins文件夹放进去,其它文件一概不要。2.在C:ProgramFilesGenuitecMyEclipse8.5dropins目录下建立一个SVN.link文件,其中里面内容为:path=C:\ProgramFiles\Genuitec\MyEclipse8.5\SVN(即这个link指向刚才你建的文件夹SVN)这时重新启动MyEclipse(提示报错,就删除C:MyEclipseMyEclipse8.5configuration下的org.eclipse.update文件夹再次重启myeclipse就会提示正常运行(如果还是报错的话,就咬考虑去掉features中的org.tigris.subversion.subclipse.mylyn_3.0.0.jar文件;去掉plugins中的org.tigris.subversion.subclipse.core_1.6.8.jar和org.tigris.subversion.subclipse.mylyn_3.0.0.jar,以防止Myeclipse8.5启动报错)重启Myeclipse8.5,选择window-->showview-->other如果下图,证明插件安装成功。 提交项目会提示输入密码,若不想重复输入,可勾选保存密码一项,则下次提交不用再输入验证信息可查看项目修改历史: 在Myeclipse下面的开发提示框中出现项目的版本信息4.2SVN上传/下载Web项目1.上传JavaWeb项目到SVN服务器在myeclipse下新建一个项目Gongchengwangluotu,右键选择team-ShareProject,, 点击浏览,选择提前在资源库中新建的一个JavaWeb文件夹(右击svn地址,选择新建—文件夹即可)用来存放上传的项目这里显示项目已与SVN关联,注意:此时并没有完成上传过程,到目前为止只传了个工程外壳,即在SVN上只看得到一个工程名,接着要继续上传工程的子项目这是SVN管理视图,用来查看文件修改信息等其中项目表示该项目有内容修改,或者该项目是第一次提交的项目。切换视图到Java,选中项目,右击—team—提交,便会开始正式提交你的项目内容,等待提示完全提交完成以后( 表示的是最新版本的项目),在下面的SVN管理器右键SVN地址进行刷新,会出现提交的项目(如果没出来,可以重启Myeclipse后查看)像.classpath与.project这种最初的右键里面没有提供“提交”菜单像这种情况要先将文件“添加至版本控制” 点击“Yes”.classpath出现蓝色小加号,此时就可以提交了同样,这种类型的文件也可以批量处理2.从SVN服务器下载文件/项目选择New—Other 选择从SVN检出项目并点击“Next”选择服务器位置 下载导出的项目,可以右键选择team—checkout(检出为)确定新项目名称和最新版本,下一步就可以完成,将“使用缺省工作空间”前面的勾去掉,就可以设置自己想放置下载项目的位置 该项目就会自动被填充为你所需要的最新版本的项目,显示下载成功文件如下:4.3建立项目分支/标记和切换1.右击项目—选择Team—分支/标示,在弹出的对话框中选择新建副本的位置 成功后在SVN资源管理器中能够看到2.建立切换通过建立切换,使得对分支项目的操作不会影响到当前项目。选中项目,右击选择Team->切换如图所示: 点击确定,就提示切换成功4.4项目文件的锁定/解锁锁定项目文件注意:锁定之前要更新一下,把最新版本下载下来。如果本地不是最新的,却进行锁定操作,那么就会出现错误,myeclipse控制台会出现以下提示: temisoutofdatesvn:加锁失败:“/trunk/TestPort/src/business/AutoSendHotel.java”的新版本已经存在重新进行更新操作之后再点击锁定,输入注释点确定,通过验证后,该文件的右下角会出现绿色的一个图标svn有一点不好的就是锁定一个文件时,别的同事看不到该文件已被锁,只有提交的时候才会提示该文件已被锁。如图21所示,当别的同事试图修改AutoSendHotel.java这个文件提交时,会弹出以下提示说明该文件正被sherry锁定遇到这种情况只能先还原等待该文件被sherry解锁,还原操作是指当某文件不能提交时恢复成修改前的版本。还原操作如下图所示解锁如下图所示 4.5冲突及解决冲突是指团队协同工作时,当多人同时修改同一个文件同一个地方,造成本地文件与SVN系统中的文件版本不一致,SVN无法取舍哪个为最新版本而导致文件无法提交的情况。1.冲突产生黑色字体表示该文件版本库有更新,绿色字体表示该文件与版本库有冲突Update之后会提示版本冲突Revert覆盖本地版本,本地版本的修改将丢失 比如同事A修改AutoSendHotel.java的30行,并且已经提交。同时同事B也修改了30行处,保存,右键更新,会看到增加了三个文件,如下图所示:同时AutoSendHotel.java30行处会出现以下的代码如下图其中<左尖括号与=等号之间的代码是同事B所作的修改,=等号与>右尖括号之间的代码是同事A所作的修改。因为两人同时修改了同一个地方,所以svn无法取舍,此时需人工手动取舍2.冲突解决以AutoSendHotel.java冲突为例,去掉多余的代码,保存,点右键,标志为解决再右键->小组->提交。成功之后,会发现上图所示的那三个文件已经消失。2.冲突解决的建议(1)修改文件之前,先进行一次update操作(2)当修改完成后,也要先进行一次update操作,及时commit,不要在本地停留时间过长(3)在多人协作时,尽量修改自己撰写的部分,不要修改其他部分(4)出现冲突很正常,可用前面的方法解决,不要相互覆盖4.x其他更多的命令Merge操作是比较前后两个版本之间的差别,然后将这些差别应用到工作拷贝上的一个操作,根据源与目的版本号的先后,出现了“合并”、“撤销”等不同效果,然后通过提交(commit)来将这些效果保存到服务器端中更多的命令操作参见文档:SVN客户端命令简介.doc
此文档下载收益归作者所有
举报原因
联系方式
详细说明
内容无法转码请点击此处