1、SVN使用手册1、引言Subversion简称为SVN,Subclipse是一个用来在Eclipse IDE环境中支持Subversion的插件.2、SVN安装模式选择一台机器,安装Subversion(简称SVN) 服务器,SVN 服务器安装后,部署好资源文件。在接下来的客户端就可以访问。SVN服务器的运行分为两种情况,一种是作为独立的服务器,默认使用3690 端口,像CVS 那样来运行,支持直接连接或者SSL 连接;另一种是借助Apache2 的webdav 功能,直接挂接在apache 上,作为它的一个模块来运行。这两种配置方式是各有优缺点的。当svn 独立运行的时候,作为一个轻型的服务
2、器,反应速度和连接速度都要比apache 要快一些。它有自己的用户认证方式,(使用系统中现有的帐号),它比apache 更容易配置和使用。当用户以自己的身份登录以后所做的任何操作将被记录下用户名。以apache 的模块来运行的时候,整个系统是以apache 所在的身份来运行的,所有的用户(包括任何验证过的用户)都是使用这个身份的,那么你就没有办法区别不同用户的操作了。(有一个办法,就是让用户自己把名字写到每次checkin 的message 里面)。它的优点是可以使用apache 现有的架构,不需要去改动你的防火墙,而且,可以使用IE 提供最简单的查看最新版本的功能。Apache 有很多的认证
3、方式,还有非常细致的对目录的权限管理,而且apache 是一个安全、稳定的服务器。本文介绍常用的独立安装模式3、SVN服务端3.1 软件安装下载SVN服务器与客户端分别安装。注意:SVN服务端与客户端工具版本要一致3.2 SVN配置1、建立版本库,主要存放SVN配置文件DOS下执行命令:svnadmin create 文件目录也可以通过图形界面:先创建好目录(如d:SVNProject),再按下图操作 2、修改产生的配置文件svnserve.conf文件:anon-access = none (表示可以查看svn的日志)auth-access = writepassword-db = pass
4、wdauthz-db = authzrealm = 指版本配置文件产生的目录(如d:SVNProject)authz文件:加上/表示根目录下都有权限/用户名=rw (读写权限)passwd文件:用户名=用户密码3.3 服务启动在安装的bin目录下执行命令:sc create svnserve binpath= c:program filesSubversionbinsvnserve.exe -service -r d:SVNProject depend= Tcpip start= auto 注:蓝色是定义的服务名,红色是Subversion安装的目录,绿色是存放配置文件的版本库目录服务创建后,
5、重启机器SVN服务将自动启动。安装好立即手动启动可能会有问题。删除服务:sc delete 服务名3.4 SVN中导入项目1、选中源文件工程右键点Import。弹出的svn地址,在文本框SVN:/127.0.0.1/后面输入工程的名称,如下图4、SVN客户端4.1 软件安装可以直接安装客户端软件,也可以在eclipse中进行安装。以下介绍Eclipse中安装Subclipse插件1、菜单Help-Software Updates-Find and Install- Search for new features to install -New Remote Site,此时弹出一个New Upd
6、ate Site对话框,如图URL:指定要安装组件的资源地址 http:/subclipse.tigris.org/update_1.2x http:/subclipse.tigris.org/update_1.4.xName:为安装的组件命名然后点击OK去完成下载安装4.2 checkout工程不同的客户端软件安装方式下载源工程的操作不一样,以下分别说明4.2.1 客户端软件安装方式1、任何目录下右键激活Checkout2、输入要下载的源目标,或使用右边的按钮选择项目。然后点击【OK】下载到本机的目的地3、下载后客户端得到工程目录,所有包含的文件都有版本控制的图标 4.2.2 eclipse
7、安装方式1、先打开Eclipse窗口中的perpective图标2、选择SVN资源库研究,点击OK3、输入资源库地址去查找资源,主要URL地址格式为SVN:/url4、如果地址访问正确,将列出服务器上所有资源5、版本控制操作下载到本地后的项目文件为当前SVN最新版本。在这个版本上开发人员去进行维护,涉及的常用操作包括增、删、改、更新、合并、回归等!5.1 上传操作在本地增加一个文件或目录,在没有上传前显示标识为?,如,说明SVN资源不包括这些文件或目录;另外在本地改动一个文件时,文件标识为*,如,说明相对于SVN资源来说文件有变动需要上传。上传操作见下图要上传如图操作5.2 更新操作由于多人同
8、时进行SVN资源维护,因此每隔一定时间需要得到最新的SVN资源,这个需要手动进行而不会自动刷新。得到最新SVN资源的操作如下图5.3 锁定与解锁客户端选中某个文件,右键选择Team-lock,被锁定的文件,其它用户不能上传,这样防止了多人控制同一版本时的乱覆盖现象。只有当锁定了文件的用户将文件解锁后,其它用户才可以上传新的数据来覆盖服务器上的对应文件。5.4 资源同步检查客户端选中某个文件,右键选择Synchronize with Repository选项,将弹出对比信息,可以查看客户端文件与服务器文件不同之处。5.5 文件还原客户端选中某个文件,右键选择Revert选项,可以从服务器上下载最
9、新文件替换客户端文件。还原与更新的差别在于,Update是获取服务器上最新文件;而Revert是客户端文件处理不当需要获取到修改前的文件。因此还原得到的文件可能比更新的版本要低5.6 文件分支拷贝当需要将项目进行分支时可以使用Branch/Tag.,操作如下第一步:选中项目右键执行如下操作第二步:输入分支出来的项目存放目录第三步:从svn中check out新的分支项目进行开发,在开发-测试完成后使用同样的操作分支为一个你想创建的项目。5.7 文件合并如果多人修改了同一文件,先提交的没有问题,后提交的会提示版本冲突,这时可以采用合并,合并后多个的代码会分别注释。最后提交人根据注释来决定具体合并内容操作。使用Merge选项5.8 文件冲突当A提交代码后,B提交同一代码文件将出现错误,解决冲突的办法是:1、B先执行Update操作,此时会得到除本文件之外新的三个文件。 在本文件的内容里面将出现A和B的代码区2、A和B进行商讨后调整B的代码文件,然后执行resolved(svn中 它表示的状态为:已解决)3、B执行Commit提交代码文件
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1