版本控制课件lt.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《版本控制课件lt.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 版本 控制 课件 lt
- 资源描述:
-
1、高级软件人才实作培训专家高级软件人才实作培训专家!版本控制版本控制讲师:梁讲师:梁 桐桐高级软件人才实作培训专家高级软件人才实作培训专家!实例l某研发团队2011研发了一款BBS系统l在开发前,项目经理带来了一些基础代码l经过3个月研发,发布了BBS 1.0版本l因为销售业绩很好,所有决定继续研发 v2.0版l但有客户使用使用中发现v1.0有严重Bug,不修复将造成严重后果l研发团队安排部分人去修复,其他人继续研发v2.0lBug修复后,发布了v1.1版,没有造成严重损失lBug修复后需要将整合到v2.0中,保证今后的发布的版本中不会出现此问题高级软件人才实作培训专家高级软件人才实作培训专家!
2、高级软件人才实作培训专家高级软件人才实作培训专家!为什么学习版本控制?l参与过2人以上的软件项目开发?l开发过程中程序是否具有版本控制?l如果不使用版本控制还会出现什么问题?l硬盘是否坏过。根据经验法则再加上墨菲定理,坏事情往往都发生在最重要的时刻。高级软件人才实作培训专家高级软件人才实作培训专家!没有版本控制?l代码管理混乱l备份多个版本,占用磁盘空间大l解决代码冲突困难l容易引发BUGl难于追溯问题代码的修改人和修改时间l难于恢复至以前正确版本l无法进行权限控制l项目版本发布困难高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!什么是版本控
3、制?l版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。l通过文档控制(documentation control),能记录任何工程专案内各个模组的改动历程,并为每次改动编上序号。高级软件人才实作培训专家高级软件人才实作培训专家!版本控制软件lCVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。l
4、VSS(Visual Source Safe)只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理lGit是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合并跟踪(merge tracing)能力。l。lSVN(Subversion),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。高级软件人才实作培训专家高级软件人才实作
5、培训专家!1、版本控制入门简介2、SVN入门3、SVN服务器端与客户端的使用SVN安装SVN仓库建立与启动 SVN命令 4、TortoiseSVN安装5、SVN权限配置 6、TortoiseSVN基本操作 【重点】7、SVN与第三方Eclipse整合 【重点】8、SVN与第三方Apache整合 9、SVN版本控制的前身CVS简介 10、SVN目录规范 目标高级软件人才实作培训专家高级软件人才实作培训专家!SVN的特性l统一的版本号。CVS是对每个文件顺序编排版本号,在某一时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文
6、件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。l原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。l重命名、复制、删除文件等动作都保存在版本历史记录当中。l对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处)l目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。l分支的开销非常小。l优化过的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。l支持元数据(Meta
7、data)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。l支持FSFS和Berkeley DB两种资料库格式。l不足:只能设置目录的访问权限,无法设置单个文件的访问权限。高级软件人才实作培训专家高级软件人才实作培训专家!SVN=版本控制+备份服务器 高级软件人才实作培训专家高级软件人才实作培训专家!lSVN服务器运行方式独立服务器方式:svnserve借助Apache方式:mod_dav_svnlSVN版本数据存储方式BDB(Berkeley DB):数据库方式FSFS:文件方式(推荐)SVN运行方
8、式与存储方式高级软件人才实作培训专家高级软件人才实作培训专家!高级软件人才实作培训专家高级软件人才实作培训专家!Subversion组件l服务器组件(管理员使用)svnadmin:用来创建、调整或修改svn档案库的工具mod_dav_svn:Apache HTTP服务器的一个插件,使版本库可以通过网络访问 svnserve:一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。l客户端组件(用户使用)svn:命令行客户端程序,这是用来管理数据的主要工具高级软件人才实作培训专家高级软件人才实作培训专家!SVN版本控制策略1拷贝拷贝-修改修改-合并合并
9、 方案cvs采用高级软件人才实作培训专家高级软件人才实作培训专家!SVN版本控制策略2拷贝拷贝-修改修改-合并合并 方案高级软件人才实作培训专家高级软件人才实作培训专家!VSS控制策略锁定锁定-修改修改-解锁解锁 方案(VSS)高级软件人才实作培训专家高级软件人才实作培训专家!Subversion安装lSubversion软件下载安装http:/subversion.tigris.org或http:/subversion.apache.org/我们使用的版本 Setup-Subversion-1.6.5.msil验证是否安装成功svnserve version 高级软件人才实作培训专家高级软件
10、人才实作培训专家!Subversion 建立仓库l建立svn仓库(单仓库、多仓库)命令 svnadmin create 仓库名称例如:svnadmin create E:softwarerepositorysvnitcastl仓库目录说明db目录:就是所有版本控制的数据存放文件hooks目录:脚本文件的目录locks目录:放置subversion文件库锁定数据的目录,用来追踪存取文件库的客户端format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)高级软件人才实作培训专家高级软件人才实作培训专家!Subve
11、rsion 启动1lcmd命令行启动svnserve d r 文档仓库路径-d后台执行-r版本库的根目录例如:svnserve-d-r F:softwarerepositorysvnitcastsvn端口号3690使用 netstat an 查看svn是否启动成功协议:tcp/ip高级软件人才实作培训专家高级软件人才实作培训专家!Subversion 启动2lwindows服务自动启动利用xp、2000以上的系统自带的工具service control,执行文件sc.exesc create SVN-Service binpath=E:softwaresvnbinsvnserve.exe-se
12、rvice-r E:softwarerepositorysvn displayname=SVN-Service start=auto depend=Tcpipbinpath 指定svnserve 的路径和命令start=auto 表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格Displayname描述、start启动方式、depend依存关系在此命令中-r(-root)项目版本仓库的根目录启动服务 net start SVN-Service删除服务 sc delete SVN-Service查看服务是否添加成功,可以选择windows 控制面板管理工具服务 会发现列表中有SV
13、N-service服务高级软件人才实作培训专家高级软件人才实作培训专家!SVN命令1lsvn checkout 从版本库检出一个工作拷贝格式:svn checkout URLREV.PATH例如:svn checkout svn:/localhost/itcast E:developworkroomuser1说明:REV,与-r功能相同,指定检出的版本号,同时检出多个工作拷贝lsvn commit 将改动的文件提交到版本库格式:svn commit path例如:svn commit-m“message readme.txtlsvn update 更新你的工作拷贝例如:svn update-r
14、 1 readme.txt(更新到指定版本)lsvn add 想版本库中添加新文件例如:svn add*-force(递归)例如:svn add-depth=empty onlydir(尽添加文件夹)lsvn info 显示本地或远程条目的信息lsvn help|svn help 获取帮助信息高级软件人才实作培训专家高级软件人才实作培训专家!SVN命令2lsvn delete从版本库中删除文件和目录。例如:svn delete-m delete svn:/localhost/oa/readme.txt例如:svn delete-force file3.txtlsvn revert 将工作副本文
15、件恢复到原始版本(恢复大部份的本地修改)。lsvn list 列出版本库中的目录内容。例如:svn list svn:/localhost/oalsvn status 显示工作副本中目录与文件的状态。未指定参数时,只显示本地修改的条目例如:svn status-show-updates-verbose|-u-vlsvn copy 在工作副本或版本库中复制数据,保留历史。格式:svn copy SRCREV.DSTlsvn move 在工作副本或版本库中移动或改名文件或目录。格式:svn move SRC.DSTlsvn merge将两个源差异应用至工作副本。格式:merge sourceURL
展开阅读全文