《版本控制.ppt》由会员分享,可在线阅读,更多相关《版本控制.ppt(37页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion TortoisesvnSubversion Tortoisesvn 版本控制培训版本控制培训讲师:讲师:毛毛 伟伟高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育内容提要内容提要l版本控制概述lSubversion、Tortoisesvn介绍lSubversion服务端配置lTortoisesvn客户端GUI使用lSVN与第三方整合(Eclipse、Apache)lSVN版本控制的前身CVS讲述高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育版本控制概述版本控制:版本控制
2、(Revisioncontrol)是维护工程蓝图蓝图的标准做法,能追踪追踪工程蓝图从诞生诞生一直到定案定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。版本控制深入程序员在团队配合中,如果你的项目没有版本控制:一、代码管理混乱。二、解决代码冲突困难。三、在代码整合期间引发BUG。四、无法对代码的拥有者进行权限控制。五、项目不同版本发布困难。.高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion介绍介绍Subversion:是一种开放源码的全新版本控制版本控制系统。是新一代的版本控制工具,由于其优于CVS的一些特点,得到了越来越多人的关
3、注和使用,支持可在本地访问或通过网络访问的数据库和文件系统存储库。不但提供了常见的比较、修补、标记、提交、回复和分支等功能,而且Subversion还增加了追踪移动和删除的能力。此外,它支持非ASCII文本和二进制数据,所有这一切都使Subversion不仅对传统的编程任务非常有用,同时也适于Web开发、图书创作和其他在传统方式下未采纳版本控制功能的领域。在当前的开源项目里(J2EE),几乎95%以上的项目都用到了SVNSubversion项目的初衷是为了替换当年开源社区最为流行的版本控制软件CVS,在CVS的功能的基础上有很多的提升同时也能较好的解决CVS系统的一些不足。高级软件人才实作培训
4、专家高级软件人才实作培训专家!北京传智播客教育高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育SVN基本交互流程图基本交互流程图高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育SVN版本控制的管理思想版本控制的管理思想SVN工作的的基本思路是这样的:在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序这样,就好象只有一个人在修改文件一样避免了冲突每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用SVN命令进行提交,由SVN仓库管理员统一修改这样就可以做到跟踪文件变化
5、,冲突控制等等。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion安装、配置安装、配置 下载安装下载安装Subversionhttp:/subversion.tigris.org 配置配置Subversion(统一放在(统一放在D:SVN)l启动启动SVN 服务器(服务器(CMD、Service)CMD:svnserve.Service:sc create.高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion安装、配置安装、配置 配置配置Subversionl建立建立SVN 单仓库单仓库(svnadmin create RE
6、POS_PATH)db目录目录:就是所有版本控制的数据存放文件。hooks目录目录:放置hook脚本文件的目录。locks目录目录:用来放置Subversion文件库锁定数据的目录,用来追踪存取文件库的客户端。format文件文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。conf目录目录:是这个仓库的配置文件(仓库的用户访问帐号、权限等)。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion安装、配置安装、配置 配置配置Subversion在将数据导入到仓库之前,你必须先想好如何组织存放你的数据。如果你使用一种我们推荐的规划方式,你将在以
7、后的使用中感觉到很舒服。我们这里有很多种标准的推荐仓库组织形式。大多数人会创建一个trunk目录来存放开发的“主线”,一个branches目录来存放支线副本,另外还有一个tags目录来存放标签副本。假如一个仓库只保存一个项目,经常会创建这样的几个顶级目录:/trunk/branches/tags(这只是个建议性的规范说明,你不按说明来办事也不会怎么样,svn照样工作得很好)高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Subversion安装、配置安装、配置 配置配置Subversionl建立建立SVN 单仓库单仓库(svnadmin create REPOS_PATH)l
8、建立建立SVN 多仓库多仓库(仓库建立方式与单仓库一样仓库建立方式与单仓库一样,只是目录仓库结构有所变化只是目录仓库结构有所变化)l配置仓库权限配置仓库权限(结合客户端一起讲)authz passwd svnserve.conf更多的关于更多的关于SVN服务端命令的使用请参照服务端命令的使用请参照SVN官方文档官方文档高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育SVN客户端(Tortoisesvn)介绍介绍Tortoisesvn:是SVN客户端程序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。l在2002年,TimKe
9、mp发现Subversion是一个很好的版本控制系统,但是没有好的图形化客户端,于是创建了一个专门为Windows外壳集成的Subversion客户端;l创意来自TortoiseCVS;高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育SVN客户端(Tortoisesvn)l官网http:/tortoisesvn.tigris.org/lTortoiseSVN安装包链接地址:http:/ 模式模式 访问方法访问方法 file:/file:/直接版本库访问(本地磁盘)。直接版本库访问(本地磁盘)。http:/http:/通过配置通过配置Subversion的的WEBWEB服务服务
10、器的服务服务器的WebDAV协议。协议。https:/https:/与与http:/http:/相似,但是包括相似,但是包括SSL加密。加密。svn:/svn:/通过通过svnservesvnserve服务自定义的协议。服务自定义的协议。svn+ssh:/svn+ssh:/与与svn:/svn:/相似,但通过相似,但通过SSH封装。封装。SVN服务器访问方式:高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育Cuncurrent Versions System 版本控制培训之版本控制培训之(CVS)(CVS)高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CV
11、S简介lCVS-ConcurrentVersionsSystem(并发版本管理系统)是一个版本控制管理系统,它是SVN出现之前最为广泛使用的一个版本控制系统。CVS的优点就不多说了,总之没有它,早期的软件工程就基本无法实现,就无法凝聚广大程序员的力量。它在软件工程中的作用实在是无可比拟的。一直到现今的版本控制的主流SVN出现之后,它才慢慢的逐步淡出我们的视线。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育下载并安装CVS-Serverl下载CVS服务器网址为:,下载CVSNT并安装,当前教学所使用的版本号为:cvsnt-server-2.5.04.3510.msil安装CV
12、S服务器:高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVSNT界面界面高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVSNT界面界面lServerInformation,用于查看服务器信息及一些简单的统计信息;lRespositoryconfiguration,配置CVS仓库,包括添加、删除等;lServerSetting,配置服务器运行的一些参数,诸如端口、加密、压缩等选项;lCapatiblityOptions,有关兼容性的选项,在这里主要配置一个兼容非cvsnt客户端的版本响应为cvs1.11.2;lPlugins,插件配置,安装完成可以不用
13、管的;lAdvanced,安装完成后也不用管了;lAbout,在这里可以管理cvsnt服务的状态,停止或启动cvsnt和cvsntlock服务。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVS-Server配置从零开始l1。创建仓库(Ropository)安装完成后,打开“开始”菜单“程序”“CVSNT”“CVSNTControlPanel”程序,打开cvs管理窗口,选择“Ropositoryconfiguation”选项卡,单击“add”按钮添加仓库,location为仓库文件夹存放路径。选择一个预先存在的目录路径。Name会自动改为“/目录文件夹”!这个名子也可以修
14、改(仓库访问别名)。点击OK按钮,它会提示你“这个文件夹不是cvs仓库,是否初始化?”的英文提示。点击“是“。创建仓库完毕。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVS仓库用户l1.使用使用WIN系统帐户系统帐户CVSNT默认用户为默认用户为windows系统用户,即在服务器上创建系统用户,即在服务器上创建WIN系统用户(注意权限安全)及可,系统用户(注意权限安全)及可,这样每个仓库都可以使用服务器的系统用户登陆管理。这样每个仓库都可以使用服务器的系统用户登陆管理。l 2.创建创建CVS仓库自己的用户仓库自己的用户1).setcvsroot=:pserver:adm
15、inistrator127.0.0.1:/oa(使用服务器系统用户绑定到当前的CVS项目上)2).cvslogin(登陆,会提示你要求输入系统用户的密码)3).cvspasswd-a-radministratorlengyu(为项目oa建立一个用户lengyu此用户同时映射服务器系统用户administrator)提醒:提醒:在pserver模式下,上面第3步新建立的用户一定要与系统用户进行绑定,这样cvs的客户端软件才可以通过此cvs用户连接CVS服务器。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVS客户端使用l3.Eclipse客户端中客户端中CVS的使用的使用高
16、级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育CVS客户端使用4.CVS基本功能的使用即与基本功能的使用即与SVN的区别的区别忽略文件不受版本控制:(a.window.preferences.Teamb.cvsignore)与仓库中的上一个版本进行比较。我们通过一天的时间学习了版本控制的两个软件(CVS、SVN),最终对比一下两个软件不难发现:.SVN支持支持DAV形式的方式访问仓库形式的方式访问仓库(B/S),而而CVS只支持只支持C/S方式通信方式通信 SVN有自己独立的用户配置方式与有自己独立的用户配置方式与OS无关。无关。SVN用户密码是明文用户密码是明文 而而CVS
17、默认就加密用户的密码信息默认就加密用户的密码信息 CVS控制的项目仓库在服务器中是以明文的结构存放的控制的项目仓库在服务器中是以明文的结构存放的,而而SVN却是加密的形式存放项目代码却是加密的形式存放项目代码 客户端项目目录受版本控制标识客户端项目目录受版本控制标识CVS与与SVN也有区别也有区别(cvs、.svn)(cvs污染项目污染项目)CVS与与SVN在服务端口上的区别在服务端口上的区别(3690、2401)CVS是一个文件对应一个版本号而是一个文件对应一个版本号而SVN是向仓库中提交一次版本号加是向仓库中提交一次版本号加1(SVN更好记一点更好记一点)高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育VSVN、CVS、Maven简介Maven:标准、存储格式以及一些软件用以管理和描述项目。它为构建、测试、部署项目定义了一个标准的生命周期。它提供了一个框架,允许遵循Maven标准的所有项目,方便的重用公用的构建逻辑。Maven项目存在的Apache软件基金会,是一个开源社区,它开发的软件工具,基于一个通用的软件对象模型(ProjectObjectModel),也就是POM。高级软件人才实作培训专家高级软件人才实作培训专家!北京传智播客教育lSubversion与版本控制http:/svnbook.red-
限制150内