教学视频连接:https://edu.aliyun.com/course/83?spm=5176.10731334.0.0.778e6580zC0Ri0服务器
在实际的项目开发之中必定不可能只有一我的完成项目【微型项目除外】,必定是多人开发进行的,若是是多人开发,就必定有可能形成修改的冲突。最初的版本控制工具是CVS【Linux下发展起来后移植到Windows下】,可是后来在CVS进行项目管理的过程之中会产生大量的历史无用文件,因此如今的开发在CVS以后都开始使用SVN了,也被不少公司来使用。使用版本控制工具能够有效的针对于你的项目中的代码进行管理,以及冲突的解决。网络
可是不得不说SVN也有本身的局限性的,若是在一个项目团队之中开发,在SVN里面所保存的项目代码,【只可以被本地所管理】。并且SVN使用了客户端服务器模式,也就是说若是须要使用SVN必定要搭建有服务器,然后要单独配置客户端。也就是说CVS、SVN如脱离网络,那么就没法进行版本控制,因此如今最好用的是Git【Github推荐使用的工具】。eclipse
图1 SVN服务器与开发者的关系图svn
若是要想搭建SVN服务器端【最好将各类杀毒软件卸载】,必需要有单独的服务器端安装软件。SVN软件安装完成,可是须要对其进行配置才可使用。工具
①须要准备出一个工做目录,假设:【e:\mysvnpro】为整个项目的工做目录;学习
②此时的【e:\mysvnpro】目录只是一个单独的空目录,并非一个svn承认的目录,因此须要初始化此工做目录,spa
svnadmin create e:\mysvnpro
初始化以后会自动在此目录之中保存一些列的配置文件。插件
③修改【e:\mysvnpro\conf】目录中的内容,全部相关配置都在此目录里面;命令行
svnserve.conf【服务器总体配置文件】、authz【受权、认证】、passwd【用户名与密码】、hooks-env.tmpl【钩子脚本环境配置文】版本控制
图2 svn配置文件目录conf中内容
I、编辑【svnserve.conf】文件:
anon-access = read auth-access = write password-db = passwd authz-db = authz realm = My First Repository
II、编辑【passwd】文件设置可使用的用户信息:
rdrc_2017202120089 = Mufasa
III、编辑【authz】文件设置权限:
1 [groups] 2 # harry_and_sally = harry,sally 3 # harry_sally_and_joe = harry,sally,&joe 4 5 [/] 6 rdrc_2017202120089=rw 7 8 # [/foo/bar] 9 # harry = rw 10 # &joe = r 11 rdrc_2017202120089=rw 12 * = 13 14 # [repository:/baz/fuz] 15 # @harry_and_sally = rw 16 * = r
以上配置完成能够直接使用rdrc_2017202120089用户就能够进行服务器的链接控制了。
④启动SVN服务:
svnserve -d -r e:\mysvnpro
启动以后命令行窗口不要关闭。???
因为之后的大部分的项目都在Eclipse中完成,因此将直接在eclipse里面实现客户端的配置处理操做。若是要想在Eclipse里面使用客户端操做的工具,那么必需要保证有相应的插件工具完成。
①若是从标准的安装方式应该选择软件更新模式:
·【Help】→【Install New Software】→【add】加入SVN插件,可是应该中国的【墙】致使不必定能够成功
图3 Eclipse下的插件标准安装流程
图4 加载插件
②直接将插件包覆盖Eclipse插件包中的文件;
SVN服务器和客户端都已经配置完成了,那么下面就须要进行项目的发布处理。在SVN的开发之中,必须有一个项目的发布者 ,以后才有项目的开发者。
①要保证建立一个你须要发布的项目;
②在项目上选择鼠标右键,然后选择共享项目;
图5 项目共享
③选择要共享的服务器类型,本次使用的是SVN【免费】;
④要求输入SVN路径;
·须要你的ip地址支持【ipconfig】:192.168.0.32
·SVN的链接地址变为:svn://192.168.0.32
图6 成功初发布项目
项目发布完成并不意味着你的代码已经提交给服务器了。
图7 只提交本身修改的文件【注意注释】
若是代码被正确提交则显示以下:
图8 正确提交显示
可是若是要是有其余开发者,则须要服务器端取得这个项目代码。而对于开发者而言,则须要经过SVN服务器取得项目的初期代码。打开一个新的Eclipse【工做区不一样】,随后进行导入的处理操做。
⑤【Flie】→【Import】→【SVN】→【】
因为是第一次链接SVN服务器(并且也是新的工做区),因此咱们须要本身输入SVN的地址:svn://192.168.0.32,到此全部的开发者均可以检出SVN服务器上的项目信息。
⑥更新版本库;先选择【更新】→【提交】
既然是多人开发,那么就有可能两我的同时修改了一个文件的内容,那么此时若是都进行了提交,就有可能产生冲突。
①若是如今在你须要修改某些代码以前,请最好作出一个【更新】处理;
②若是真的多人修改了同一个文件,而且同时提交,那么必定会出现错误
·第二个开发者修改了代码而且提交到了服务器端;
·此时第一个开发者也准备提交代码,那么必定会有冲突产生,而且会在代码中标记冲突产生位置。
·那么应该由最后一个开发者手工修改冲突文件;可是修改完成以后你仍是没法提交,由于须要作一个【解决冲突】的标记-【标记为解决】
这些工具就是一个配置的问题,并且你还必须会配置,工做之中都用这样的管理软件。可是Git更加好用!!!