版本控制幻灯片-lt

上传人:F****n 文档编号:88158703 上传时间:2019-04-20 格式:PPT 页数:44 大小:425KB
返回 下载 相关 举报
版本控制幻灯片-lt_第1页
第1页 / 共44页
版本控制幻灯片-lt_第2页
第2页 / 共44页
版本控制幻灯片-lt_第3页
第3页 / 共44页
版本控制幻灯片-lt_第4页
第4页 / 共44页
版本控制幻灯片-lt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《版本控制幻灯片-lt》由会员分享,可在线阅读,更多相关《版本控制幻灯片-lt(44页珍藏版)》请在金锄头文库上搜索。

1、版本控制,讲师:梁 桐,实例,某研发团队2011研发了一款BBS系统 在开发前,项目经理带来了一些基础代码 经过3个月研发,发布了BBS 1.0版本 因为销售业绩很好,所有决定继续研发 v2.0版 但有客户使用使用中发现v1.0有严重Bug,不修复将造成严重后果 研发团队安排部分人去修复,其他人继续研发v2.0 Bug修复后,发布了v1.1版,没有造成严重损失 Bug修复后需要将整合到v2.0中,保证今后的发布的版本中不会出现此问题,为什么学习版本控制?,参与过2人以上的软件项目开发? 开发过程中程序是否具有版本控制? 如果不使用版本控制还会出现什么问题? 硬盘是否坏过。根据经验法则再加上墨菲

2、定理,坏事情往往都发生在最重要的时刻。,没有版本控制?,代码管理混乱 备份多个版本,占用磁盘空间大 解决代码冲突困难 容易引发BUG 难于追溯问题代码的修改人和修改时间 难于恢复至以前正确版本 无法进行权限控制 项目版本发布困难,什么是版本控制?,版本控制(Revision Control):是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。也是一种软体工程技巧,籍以在开发的过程中,确保由不同人所编辑的同一档案都得到更新。 通过文档控制(documentation control),能记录任何工程专案内各个模组的改动

3、历程,并为每次改动编上序号。,版本控制软件,CVS(Concurrent Versions System)代表协作版本系统或者并发版本系统,是一种版本控制系统,方便软件的开发和使用者协同工作。 VSS ( Visual Source Safe )只能在windows下,作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理 Git是用于Linux内核开发的版本控制工具。它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。Git最为出色的是它的合

4、并跟踪(merge tracing)能力。 。 SVN(Subversion ),是一个开放源代码的版本控制系统,采用了分支管理系统,它的设计目标就是取代CVS。,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的特性,统一的版本号。CVS是对每个文件顺序编排版本号,在某一

5、时间各文件的版本号各不相同。而Subversion下,任何一次提交都会对所有文件增加到同一个新版本号,即使是提交并不涉及的文件。所以,各文件在某任意时间的版本号是相同的。版本号相同的文件构成软件的一个版本。 原子提交。一次提交不管是单个还是多个文件,都是作为一个整体提交的。在这当中发生的意外例如传输中断,不会引起数据库的不完整和数据损坏。 重命名、复制、删除文件等动作都保存在版本历史记录当中。 对于二进制文件,使用了节省空间的保存方法。(简单的理解,就是只保存和上一版本不同之处) 目录也有版本历史。整个目录树可以被移动或者复制,操作很简单,而且能够保留全部版本记录。 分支的开销非常小。 优化过

6、的数据库访问,使得一些操作不必访问数据库就可以做到。这样减少了很多不必要的和数据库主机之间的网络流量。 支持元数据(Metadata)管理。每个目录或文件都可以定义属性(Property),它是一些隐藏的键值对,用户可以自定义属性内容,而且属性和文件内容一样在版本控制范围内。 支持FSFS和Berkeley DB两种资料库格式。 不足:只能设置目录的访问权限,无法设置单个文件的访问权限。,SVN = 版 本 控 制 + 备 份 服 务 器,SVN服务器运行方式 独立服务器方式:svnserve 借助Apache方式:mod_dav_svn SVN版本数据存储方式 BDB(Berkeley DB

7、):数据库方式 FSFS:文件方式(推荐),SVN运行方式与存储方式,Subversion组件,服务器组件(管理员使用) svnadmin:用来创建、调整或修改svn档案库的工具 mod_dav_svn:Apache HTTP服务器的一个插件,使版本库可以通过网络访问 svnserve:一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式。 客户端组件(用户使用) svn:命令行客户端程序,这是用来管理数据的主要工具,SVN版本控制策略1,拷贝-修改-合并 方案 cvs采用,SVN版本控制策略2,拷贝-修改-合并 方案,VSS控制策略,锁定-修改-

8、解锁 方案(VSS),Subversion安装,Subversion软件下载安装 http:/subversion.tigris.org 或http:/subversion.apache.org/ 我们使用的版本 Setup-Subversion-1.6.5.msi 验证是否安装成功 svnserve version,Subversion 建立仓库,建立svn仓库(单仓库、多仓库) 命令 svnadmin create 仓库名称 例如:svnadmin create E:softwarerepositorysvnitcast 仓库目录说明 db目录:就是所有版本控制的数据存放文件 hooks目

9、录:脚本文件的目录 locks目录:放置subversion文件库锁定数据的目录,用来追踪存取文件库的客户端 format文件是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。 conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等),Subversion 启动1,cmd命令行启动 svnserve d r 文档仓库路径 -d后台执行 -r版本库的根目录 例如:svnserve -d -r F:softwarerepositorysvnitcast svn端口号3690 使用 netstat an 查看svn是否启动成功 协议:tcp/ip,Subversion 启动2,

10、windows服务自动启动 利用xp、2000以上的系统自带的工具service control,执行文件sc.exe sc create SVN-Service binpath= “E:softwaresvnbinsvnserve.exe -service -r E:softwarerepositorysvn“ displayname= “SVN-Service“ start= auto depend= Tcpip binpath 指定svnserve 的路径和命令 start= auto 表示服务自动启动。注意:等于号的左边无空格,而右边必须有一个空格 Displayname描述、star

11、t启动方式、depend依存关系 在此命令中-r(-root)项目版本仓库的根目录 启动服务 net start SVN-Service 删除服务 sc delete SVN-Service 查看服务是否添加成功,可以选择windows 控制面板管理工具服务 会发现列表中有SVN-service服务,SVN命令1,svn checkout 从版本库检出一个工作拷贝 格式:svn checkout URLREV. PATH 例如:svn checkout svn:/localhost/itcast E:developworkroomuser1 说明: REV,与-r功能相同,指定检出的版本号 ,

12、同时检出多个工作拷贝 svn commit 将改动的文件提交到版本库 格式:svn commit path 例如:svn commit -m “message“ readme.txt svn update 更新你的工作拷贝 例如:svn update -r 1 readme.txt(更新到指定版本) svn add 想版本库中添加新文件 例如:svn add * -force (递归) 例如:svn add -depth=empty onlydir (尽添加文件夹) svn info 显示本地或远程条目的信息 svn help | svn help 获取帮助信息,SVN命令2,svn dele

13、te从版本库中删除文件和目录。 例如:svn delete -m “delete“ svn:/localhost/oa/readme.txt 例如:svn delete -force file3.txt svn revert 将工作副本文件恢复到原始版本(恢复大部份的本地修改)。 svn list 列出版本库中的目录内容。 例如:svn list svn:/localhost/oa svn status 显示工作副本中目录与文件的状态。 未指定参数时,只显示本地修改的条目 例如:svn status -show-updates -verbose | -u -v svn copy 在工作副本或版

14、本库中复制数据,保留历史。 格式:svn copy SRCREV. DST svn move 在工作副本或版本库中移动或改名文件或目录。 格式:svn move SRC. DST svn merge将两个源差异应用至工作副本。 格式: merge sourceURL1N sourceURL2M WCPATH 例如:svn merge -reintegrate svn:/localhost/oa/branches/fixed,SVN命令3,svn switch 把工作拷贝更新到别的URL 格式:svn switch URLPEGREV PATH svn switch -relocate FROM

15、 TO PATH. 例子:svn switch -relocate svn:/localhost/bbs1 svn:/localhost/bbs . svn mkdir 创建一个纳入版本控制的新目录 格式:svn mkdir PATH. svn mkdir URL. 例子:svn mkdir branches 共性:如果出现URL,一般需要“日志信息” 删除密码信息: windows:C:Documents and SettingsAdministratorApplication DataSubversionauth linux下 :rm -rf /.subversion/auth,SVN基本

16、交互流程图,checkout,update,commit,TortoiseSVN介绍,TortoiseSVN是Subversion版本控制系统的一个免费开源客户端。 TortoiseSVN是Subversion的windows扩展。它使你避免接触Subversion枯燥而且不方便的Command Line。它完全嵌入Windows Explorer,使用时只需在正常的窗口里右键操作就可以了,TortoiseSVN安装,TortoiseSVN下载安装 http:/ 我们安装版本TortoiseSVN-1.6.6.17493-win32-svn-1.6.6.msi TortoiseSVN汉化 http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号