源代码版本管理_第1页
源代码版本管理_第2页
源代码版本管理_第3页
源代码版本管理_第4页
源代码版本管理_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、 目录 1 Visual Studio环境下源代码版本管理 2 Eclipse环境源代码版本管理 3体会1Visual Studio环境下源代码版本管理1.1SubVersion+TortoiesSVN的配置1.1.1安装SubVersion 。(下载地址:/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=91),例如我安装到D:/SVN/SubVersion1.1.2安装TortoiseSVN。(下载地址:1.1.3建立版本库(repository

2、)。这点和VSS一样,我们需要一个库来存放版本信息。创建方式有两种通过SubVersion的命令行或者通过TortoiseSVN的图形界面来创建。我们就直接通过TortoiseSVN创建,例如我想在D盘建立一个文件夹SVNServices用来放版本库,然后在其中建立一个EMIData的文件夹作为我的项目EMI的版本库,这是我对EMIData点击右键-TortoiseSVNCreate Repository here即可将EMIData最为一个版本库,这是你会发现EMIData文件夹中多了很多的文件。1.1.4启动SVN服务。到这里我们的SubVersion其实还没有启动,我们在cmd命令行输入

3、:svnserve -daemon -root D:/SVNServices这样我们就可以启动SVN并且以D:/SVNServices作为根目录。这里我要指明几点,第一就是输入的命令中两处都是两个-,也就是-而不是-;第二点就是启动后cmd窗口使不能关闭的,这点类似于tomcat的命令窗口,但是和tomcat一样我们后面会讲到有更好的办法不需要一直开着这个窗口。到了这里我么来检测一下刚才建立的版本库是否正确,右击打开TortoiseSVN-Repo-browser在url处输入svn:/Localhost/EMIData如果你看到了EMIData这个空的库就说明你已经成功建立了版本库。1.1.

4、5分配用户权限。我们的SVN服务器不是谁都可以访问的,肯定需要配置权限。用文本编辑器打开D:/SVNService/EMIData/conf/svnserve.conf我们将# password-db = passwd 改为:password-db =passwd也就是说我们使用密码验证,这里说明一点就是#后面的空格也要删除。接着我们修改同目录下的passwd文件,增加一个jianxin160帐号,在users这个节下面添加jianxin160=123456即可,即用户名,密码都是123456。1.1.6将项目导入到版本库。例如我的项目EMI在F:/EMI这个文件夹,我通过右键Tortoise

5、SVNImport在弹出对话框的url处输入“svn:/Localhost/EMIData/EMI”,点击OK后输入上面我们的用户名和密码(jianxin160和123456)。1.2Apache架设SVN服务 通过上面的操作其实我们已经可以管理项目了,你已经发现我们通过输入svn:/Localhost/EMIData/EMI其实就可以在TortoiseSVN的Repo-Browser中查看项目文件,事实上SVN本省自带的服务器就可以进行版本管理。但是如果我们在Visual Studio中通过输入svn:/来导入和管理我们的项目未免有些不足,而且平时查看还要靠TortoiseSVN的Repo-

6、Browser,况且还要一直开着cmd窗口多麻烦。有没有更好的办法,是有的,那就是我们通过Apache服务器来做。1.2.1安装Apache。(到这里下载:/download.cgi)例如我的安装到了D:/SVN/Apache下,安装过程比较简单我就不再说了。1.2.2关联Apache和SVN。Apache是不知道SVN的,肯定也是不能管理它的。将SubVersion安装目录中bin目录下的intl3_svn.dll,libdb44.dll,mod_authz_svn.so,mod_dav_svn.so复制到Apache安装目录Modules中;在A

7、pache的conf文件夹中找到httpd.conf文件,将#LoadModule dav_module modules/mod_dav.so前面的”#”号去掉,然后在后面添加:LoadModule dav_svn_module modules/mod_dav_svn.so注意它一定要放在紧跟其后的一行的后面。但是此时Apache还不知道如何处理,我们在httpd.conf最后面添加DAV svnSVNPath D:/SVNServices/EMIData这是我们就可以通过在浏览器中输入:/repository/EMI来浏览我们的项目了。可以看出通过使用apach

8、e我们将路径做了相应的映射。1.2.3配置Apache认证方式。我们到上一步为止谁都可以输入/repository/EMI来访问我们的项目,当然不行了。我们这里通过apache的基本http认证来对项目进行保护。在apache的bin目录有一个htpasswd工具,通过它我们来创建用户信息。例如:通过命令行htpasswd -c D:/SVNServices/EMIData/MyApacheUser/passwd.conf jianxin160然后提示输入密码,我输入123456 再次输入,就会在D:/SVNServices/EMIData/MyApacheUse

9、r(之前建立好MyApacheUser这个目录)创建一个文件passwd.conf 里面包含用MD5加密的密码。通过htpasswd -m D:/SVNServices/EMIData/MyApacheUser/passwd.conf miaoer1987再创建一个用户。关于htpasswd操作我就不再细说。然后修改apache的httpd.conf,在Location标签(上面我们添加的)中加入以下内容:AuthType BasicAuthName svn reposAuthUserFile D:/SVNServices/EMIData/MyApacheUser/passwd.confReq

10、uire valid-user这是再输入/repository/EMI就需要用户名密码了。1.2.4安装AnkhSVN。(下载地址: Studio的插件,有了它SVN和Visual Studio结合就更天衣无缝了。安装之后我么发现在VS中File-Open就多了一个选项“SubVersion Project”,我们在这里输入/repository/EMI就可以看到我们的解决方案文件(我第一输入后只有/repository,关闭VS又打开才看到/repository/EMI)E

11、MI.sln打开就可以将整个工程下载到本地,这时注意要在Location中输入你要将副本保存在哪个位置。好了到此位置整个SVN的配置结束了。1.3SVN配置注意1.3.1按照上面做过后,其他人还是不能用,原因很简单,这样的IP找不到你的SVN服务器。解决方法:如果你是在局域网就换成你在局域网的IP,如果是静态IP(很少吧)只需要换成你的静态IP,如果你是在广域网又没有静态IP那么可以通过域名(这种情况需要有个虚拟主机),如果你没有虚拟主机又没有静态IP又需要在广域网使用可以利用动态域名绑定工具来实现。1.3.2局域网中使用一定要关闭SVN所在机器的防火墙。(在客户机连接SVN

12、服务器时最好先ping一下然后在浏览器中输入对应地址试试,如果发现ping不通对方主机很可能是防火墙问题,注意包括各种防火墙)1.4SVN的使用1.4.1使用SVN,在VS中添加项目后,以后不需要每次都从File-OpenSubVersion Project来打开,而只需要直接打开副本中对应的解决方案文件。1.4.2对一个文件编辑时SVN会自动加锁,编辑之后记得Commit。1.4.3关闭VS时如果有没有Commit的文件,下次打开还可以Commit。1.4.4每次打开VS时建议获得新版本。2Eclipse环境源代码版本管理2.1帮助-软件更新-查找并安装-搜索要安装的新功能部件-新建远程站点

13、-输入一个任意的名称-URL输入/update_1.2.x-确定-选中你刚才添加的远程站点-完成-选中Subclipse-执行安装操作2.2窗口-打开透视图-SVN资源库研究-右键-新建-资源库位置-URL中输入svn://-输入2.7定义的用户名test和密码password2.3提交工程2.3.1右击工程-小组-共享项目-选择SVN-选择svn:/(如果没有,则创建一个新的资源库)-下一步-完成2.4下载工程2.5在SVN资源库透视图下,点开svn:/,会显示出现在本机SVN上的所有工

14、程,右击你想下载的工程-检出为-下一步-完成。SVN代码管理的一些基本操作如下。2.6基本操作2.6.1同步在MyEclipseJ2EE透视图下,右击你要同步的工程-小组-与资源库同步-这时会进入同步透视图,会显示出本机与SVN上内容有不同的文件,双击文件名,会显示出两个文件中哪里不同;2.6.2提交在同步透视图下有灰色向右的箭头,表示你本机修改过,右击该文件,可以选择提交操作;2.6.3覆盖/更新在同步透视图下有蓝色向左的箭头,表示你本机修改过,右击该文件,可以选择覆盖/更新操作;2.7图标说明2.7.1灰色向右箭头:本地修改过2.7.2蓝色向左箭头:SVN上修改过2.7.3灰色向右且中间有

15、个加号的箭头:本地比SVN上多出的文件2.7.4蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件2.7.5灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件2.7.6蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件2.7.7红色双向箭头:SVN上修改过,本地也修改过的文件。下面我们看一下SVN代码管理过程中遇到的一些出错信息。2.8一些我遇到的出错信息2.8.1在上面讲的3.2步输入URL(svn:/)点下一步出现svnserve.conf:12:Optionexpected错误你打开svnserve.conf文件中的第12行,该错误是由于

16、该行的前面有空格引起的,把左边多出的空格删除掉即可;2.8.2在上面讲的3.2步输入URL(svn://SVN_PRJ)点下一步出现svn://SVN_PRJnon-existentinrevision7错误URL错了,应该输入svn:/即可2.9SVN服务端自带的基于命令行的操作语句2.9.1设置SVN服务端安装目录下的/bin到环境变量中;2.9.2在命令行下运行svnimportc:/testsvn://test-minitialimport-usernametest-passwordpasswd可进行上传操作2.9

17、.3进入你要检出的目录,在命令行下运行svncheckoutsvn://test-usernametest-passwordpasswd可进行检出工程的操作2.9.4在命令行下运行svncommittest.txt-mmodified-usernametest-passwordpasswd可进行提交操作2.9.5在命令行下运行svnupdate-rHEADtest.txt-usernametest-passwordpasswd可进行更新操作注:上面讲的可以换成外网IP,或者局域网IP皆可(即,在家里创建一个SVN服务端,即可在公司去访问家里的SVN)。3体会

18、市面上有许多版本控制系统,如微软的VSS、TeamCoherence、SVN等,从这三款的使用经验来看,SVN最强大了,对源代码的语言没有限制,还可以管理word文件,而且有大量的用户群,如Apache基本会管理的软件,与VSS比较有以下1优点:1. 1支持重命名,这对 Java 开发来说非常重要。为了得到更好的代码,开发中需要经常进行重构,重构就经常涉及到文件的重构名,而重命名中 VSS中是不被支持的。1.2开发的时候不一定要锁定。一方面导致重构不方便,另一方面,不能离线开发,使用 SVN就不同,可以带回家继续开发,回来后,提交就行了。1.3多平台。可以支持多个平台下的操作,有windows和linux平台,支持32位、64位。1.4更好的客户端支持。Eclipse 中的 VSS Plugin 不如它的 SVN Plugin 好用。一个在 Windows 下用的 SVN 客户端 TortoiseSVN 也比VSS 的

温馨提示

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

评论

0/150

提交评论