当前位置:文档之家› 源代码版本管理

源代码版本管理

目录1 Visual Studio环境下源代码版本管理2 Eclipse环境源代码版本管理3体会1Visual Studio环境下源代码版本管理1.1SubVersion+TortoiesSVN的配置1.1.1安装SubVersion 。

(下载地址:/servlets/ProjectDocumentList?folderID=8100&exp andFolder=8100&folderID=91),例如我安装到D:/SVN/SubVersion1.1.2安装TortoiseSVN。

(下载地址:/downloads),这是一个SubVersion的图像化管理工具,没有它也可以,但是管理SubVersion需要使用命令行的形式,安装过TortoiseSVN可以在右键菜单出现相应的选项。

例如我安装到了D:/SVN/TortoiseSVN1.1.3建立版本库(repository)。

这点和VSS一样,我们需要一个库来存放版本信息。

创建方式有两种通过SubVersion的命令行或者通过TortoiseSVN的图形界面来创建。

我们就直接通过TortoiseSVN创建,例如我想在D盘建立一个文件夹SVNServices 用来放版本库,然后在其中建立一个EMIData的文件夹作为我的项目EMI的版本库,这是我对EMIData点击右键--TortoiseSVN—Create Repository here 即可将EMIData最为一个版本库,这是你会发现EMIData文件夹中多了很多的文件。

1.1.4启动SVN服务。

到这里我们的SubVersion其实还没有启动,我们在cmd命令行输入:svnserve –-daemon –-root D:/SVNServices这样我们就可以启动SVN并且以D:/SVNServices作为根目录。

这里我要指明几点,第一就是输入的命令中两处都是两个‘-’,也就是‘--’而不是‘-’;第二点就是启动后cmd窗口使不能关闭的,这点类似于tomcat的命令窗口,但是和tomcat一样我们后面会讲到有更好的办法不需要一直开着这个窗口。

到了这里我么来检测一下刚才建立的版本库是否正确,右击打开TortoiseSVN--Repo-browser在url处输入svn://Localhost/EMIData 如果你看到了EMIData这个空的库就说明你已经成功建立了版本库。

1.1.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这个文件夹,我通过右键TortoiseSVN—Import…在弹出对话框的url处输入“svn://Localhost/EMIData/EMI”,点击OK后输入上面我们的用户名和密码(jianxin160和123456)。

1.2Apache架设SVN服务通过上面的操作其实我们已经可以管理项目了,你已经发现我们通过输入svn://Localhost/EMIData/EMI其实就可以在TortoiseSVN的Repo-Browser中查看项目文件,事实上SVN本省自带的服务器就可以进行版本管理。

但是如果我们在Visual Studio中通过输入svn://…来导入和管理我们的项目未免有些不足,而且平时查看还要靠TortoiseSVN的Repo-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中;在Apache的conf文件夹中找到httpd.conf文件,将#LoadModule dav_module modules/mod_dav.so前面的”#”号去掉,然后在后面添加:LoadModule dav_svn_modulemodules/mod_dav_svn.so注意它一定要放在紧跟其后的一行的后面。

但是此时Apache还不知道如何处理,我们在httpd.conf最后面添加DAV svnSVNPath D:/SVNServices/EMIData这是我们就可以通过在浏览器中输入:http://127.0.0.1/repository/EMI来浏览我们的项目了。

可以看出通过使用apache我们将路径做了相应的映射。

1.2.3配置Apache认证方式。

我们到上一步为止谁都可以输入http://127.0.0.1/repository/EMI来访问我们的项目,当然不行了。

我们这里通过apache的基本http认证来对项目进行保护。

在apache的bin目录有一个htpasswd 工具,通过它我们来创建用户信息。

例如:通过命令行htpasswd -cD:/SVNServices/EMIData/MyApacheUser/passwd.conf jianxin160然后提示输入密码,我输入123456 再次输入,就会在D:/SVNServices/EMIData/MyApacheUser(之前建立好MyApacheUser这个目录)创建一个文件passwd.conf 里面包含用MD5加密的密码。

通过 htpasswd -mD:/SVNServices/EMIData/MyApacheUser/passwd.conf miaoer1987再创建一个用户。

关于htpasswd操作我就不再细说。

然后修改apache的httpd.conf,在Location 标签(上面我们添加的)中加入以下内容:AuthType BasicAuthName "svn repos"AuthUserFile D:/SVNServices/EMIData/MyApacheUser/passwd.confRequire valid-user这是再输入http://127.0.0.1/repository/EMI就需要用户名密码了。

1.2.4安装AnkhSVN。

(下载地址:/downloads)这是一个Visual Studio的插件,有了它SVN和Visual Studio结合就更天衣无缝了。

安装之后我么发现在VS中File-Open就多了一个选项“SubVersion Project”,我们在这里输入http://127.0.0.1/repository/EMI就可以看到我们的解决方案文件(我第一输入后只有http://127.0.0.1/repository,关闭VS又打开才看到http://127.0.0.1/repository/EMI)EMI.sln打开就可以将整个工程下载到本地,这时注意要在Location中输入你要将副本保存在哪个位置。

好了到此位置整个SVN的配置结束了。

1.3SVN配置注意1.3.1按照上面做过后,其他人还是不能用,原因很简单,127.0.0.1这样的IP找不到你的SVN服务器。

解决方法:如果你是在局域网就换成你在局域网的IP,如果是静态IP(很少吧)只需要换成你的静态IP,如果你是在广域网又没有静态IP那么可以通过域名(这种情况需要有个虚拟主机),如果你没有虚拟主机又没有静态IP又需要在广域网使用可以利用动态域名绑定工具来实现。

1.3.2局域网中使用一定要关闭SVN所在机器的防火墙。

(在客户机连接SVN服务器时最好先ping一下然后在浏览器中输入对应地址试试,如果发现ping不通对方主机很可能是防火墙问题,注意包括各种防火墙)1.4SVN的使用1.4.1使用SVN,在VS中添加项目后,以后不需要每次都从File--Open—SubVersion Project来打开,而只需要直接打开副本中对应的解决方案文件。

1.4.2对一个文件编辑时SVN会自动加锁,编辑之后记得Commit。

1.4.3关闭VS时如果有没有Commit的文件,下次打开还可以Commit。

1.4.4每次打开VS时建议获得新版本。

2Eclipse环境源代码版本管理2.1帮助->软件更新->查找并安装->搜索要安装的新功能部件->新建远程站点->输入一个任意的名称->URL输入/update_1.2.x->确定->选中你刚才添加的远程站点->完成->选中Subclipse->执行安装操作2.2窗口->打开透视图->SVN资源库研究->右键->新建->资源库位置->URL中输入svn://127.0.0.1/->输入2.7定义的用户名test和密码password2.3提交工程2.3.1右击工程->小组->共享项目->选择SVN->选择svn://127.0.0.1(如果没有,则创建一个新的资源库)->下一步->完成2.4下载工程2.5在SVN资源库透视图下,点开svn://127.0.0.1,会显示出现在本机SVN上的所有工程,右击你想下载的工程->检出为->下一步->完成。

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灰色向右且中间有个加号的箭头:本地比SVN上多出的文件2.7.4蓝色向左且中间有个加号的箭头:SVN上比本地多出的文件2.7.5灰色向右且中间有个减号的箭头:本地删除了,而SVN上未删除的文件2.7.6蓝色向左且中间有个减号的箭头:SVN上删除了,而本地未删除的文件2.7.7红色双向箭头:SVN上修改过,本地也修改过的文件。

相关主题