版本控制管理系统(SVN精讲).ppt_第1页
版本控制管理系统(SVN精讲).ppt_第2页
版本控制管理系统(SVN精讲).ppt_第3页
版本控制管理系统(SVN精讲).ppt_第4页
版本控制管理系统(SVN精讲).ppt_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲人:韩磊 2011年6月,subversion,版本控制管理系统,配置管理简介 subversion简介 subversion基础 svn基本操作(演示) svn其他操作 svn高级操作,内容简介,1 配置管理简介,配置管理的概念 配置管理的一般术语 配置管理的关键活动 配置管理工具简介,配置管理的概念,配置管理(configuration management, cm)是通过运用配置标识、配置控制、配置状态统计和配置审计,建立和维护工作产品的完整性和一致性。配置管理是对工作成果的一种有效保护。 配置管理作为cmmi 2级的一个关键过程域,在整个研发活动中占有很重要的位置。 配置管理与任何一位项目成员都有关系,因为每个人都会产生工作成果。配置管理是否有成效取决于三个要素:人、规范、工具。,配置管理的一般术语,1:配置项 研发和管理过程中会产生许许多多的工作成果,例如文档、程序和数据等,它们都应当被妥善地保管起来,以便查阅和修改。 凡是纳入配置管理范畴的工作成果统称为配置项(configuration item,ci)。配置项主要有两大类: 属于产品组成部分的工作成果,例如源代码、需求文档、设计文档、测试用例等等。 在管理过程中产生的文档例如各种计划、监控报告等等,这些文档虽然不是产品的组成部分,但是值得保存。 每个配置项的主要属性有:名称、标识符、文件状态、版本、作者、日期等。所有配置项都被保存在配置库里,确保不会混淆、丢失。配置项及其历史记录反映了产品的演化过程。,配置管理的一般术语,2:配置库 配置管理的相关环境,包括项目成员用户组、文档服 务器上的目录、源代码配置库、缺陷管理库等等。 3:基线 基线(baseline)由一组配置项组成,这些配置项构成 了一个相对稳定的逻辑实体。基线中的配置项被“冻结 ”了,不能再被任何人随意修改。 基线通常对应于开发过程中的里程碑(milestone),一个产品可以有多个基线,也可以只有一个基线。基线的主要属性有:名称、标识符、版本、日期等。,配置管理的关键活动,1:配置项识别 所有配置项都都应按照相关规定统一编号,在引入配置管 理工具进行管理后,这些配置项都应以一定的目录结构 保存在配置库中。所有配置项的操作权限应由配置管理 员严格管理。 2:工作空间管理 在引入了配置管理工具之后,所有开发人员都会被要求 把工作成果存放到由配置管理工具所管理的配置库中去 。每个开发人员按照任务的要求,在不同的开发阶段, 工作在不同的工作空间上。,配置管理的关键活动,3:版本控制 版本控制是配置管理的核心功能。所有置于配置库中的元素都应自 动予以版本的标识,并保证版本命名的唯一性。通过配置管理工具 可以避免发生版本丢失或混淆等现象,并且可以快速准确地查找到 配置项的任何版本。 4:变更控制 变更控制就是通过结合人的规程和自动化工具,以提供一个对变化 控制的机制。保证成果物在复杂多变的开发过程中真正的处于受控 的状态,并在任何情况下都能迅速的恢复到任一历史状态。变更控 制的目的是防止配置项被随意修改而导致混乱。当配置项状态为“ 正式发布”,或者该配置项已经成为某个基线的一部分(即被“冻 结”)时,如果要修改配置项的话,那么按照变更控制规则执行。,配置管理的关键活动,5:状态报告 配置状态报告就是根据配置项操作记录来向管理者报告 研发活动的进展情况。这样的报告应该是定期进行,配 置状态报告应根据报告着重反映当前基线配置项的状态 ,以作为对研发进度报告的参照。同时也能从中根据开 发人员对配置项的操作记录来对开发团队的工作关系作 一定的分析。 6:配置审计 配置审计的主要作用是作为变更控制的补充手段,来确 保某一变更需求已被切实实现。,常用的配置管理工具,vss.(visual sourcesafe ). 简单易用、方便高效、与windows操作系统及微软开发工具高度集成。但仅支持windows操作系统 ,不能胜任企业级的开发工作 。 clearcase: ibm旗下rational公司(2003年被ibm收购)的一款重量级的配置管理工具 。 clearcase支持现有的绝大多数操作系统,但它的安装、配置、使用相对较复杂,并且需要进行团队培训 。 cvs.(concurrent versions system). 开放源代码世界的一个伟大杰作,cvs功能强大,跨平台,支持并发版本控制,而且免费,所以它在全球中小型企业中得到了广泛使用。 cvs是一个典型的服务器/客户端软件,诞生于 1986 年 。 svn.(subversion) cvs的替代品,采用了更先进的分支管理系统。保留cvs的基本特性但去除cvs的bug和不好的特性。,2 subversion简介,subversion的作用 subversion的历史 subversion的工作原理 subversion相关软件,subversion的作用,一个自由,开源的版本控制系统 一个通用系统,不是简单的一个scm系统 以替代cvs为目标 可以管理任何类型文件,并且追踪变更 不具有某些和开发紧密结合的特性,如支持某种特定的编程语言,集成构建工具等 应用:版本管理,subversion的历史,2000年, collabnet公司的协作软件采用cvs作为版本控制系统,因为cvs本身一些局限性,从而需要一个代替品 2月,邀请了karl fogel(open source development with cvs)参与开发 3月,subversion开始详细设计和编码 2001年8月31日,subversion第一个完整版本问世 经过1.0,1.1,1.2直到现在的1.6.16版,svn工作原理,svn,可以实现文件及目录的保存及版本回溯。svn将文件存放在中心版本库里,它可以记录文件和目录每一次的修改情况,这样我们就可以籍此将数据恢复到以前的某个版本,并可以查看更改的细节。也就是说,一旦一个文件被传到svn上面,那么不管对它进行什么操作,svn都会有清晰的记录,即使它在n天前被删除了,也可以被找回来。 svn是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。,subversion相关软件,基于subversion和tortoisesvn的版本控制系统 subversion:是一个开源的版本控制系统,拥有cvs的大部分特征,并在cvs的基础上有更强的扩展,用来代替 cvs 系统。 tortoisesvn:svn的客户端工具,和资源管理器完美集成,基于tortoisecvs的代码开发,使用上与tortiosecvs极其相似。,3 subversion基础,svn基本概念 svn工作模式 tortoisesvn的安装 tsvn的使用基本流程 svn使用图标说明,svn基本概念,配置库( repository ) svn的核心是配置库,储存所有的数据,配置库按照文件树形式储存数据包括文件和目录,任意数量的客户端可以连接到配置库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。 最特别的是 subversion 会记录配置库中的每一次更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。,svn基本概念,工作副本(workspace) 与位于中央配置库相对应的是每个人的工作空间,它是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从这里提交回配置库库中。,svn基本概念,checkout,commit,修订版本(revision),svn的提交(commit)操作是把工作拷贝的更改发布到版本库的一个原子操作。每当一次提交完成后,版本库的文件系统就进入了一个新的状态,叫做一次修订(revision),每一次修订都会赋予一个独一无二的版本号,一般是从0开始的递增自然数,一个比一个大。 初始修订版本是0,这只是一个空目录,没有任何内容。随着每次的提交,版本库里仿佛就多了一个当前内容的“快照”。在版本库中,最新的一个修订版本称为head,svn的工作模式,复制-修改-合并方案(subversion默认的模式) 在这种模型里,每一个客户读取项目配置库建立一个私有工作副本版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。 锁定-修改-解锁方案 在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。 此模式不适合软件开发这种工作。,tortoisesvn的安装,需要安装客户端 安装完毕后,在“资源管理器”里点击右键,会有如下菜单出现:,tsvn的使用基本流程,svn使用图标说明,一个新检出的工作副本使用绿色的对勾做重载。表示subversion状态正常. 当我们开始编辑一个文件后,图标将变成红色感叹号。通过这种方式,可以很容易地看出我们对哪些文件进行了修改操作,但是还没有提交到版本库中; 如果在提交的过程中出现了冲突,图标将变成黄色感叹号。 如果我们拥有了一个文件的锁,并且subversion状态是正常,这个重载图标将提醒我们:如果不使用该文件的话,请进行释放锁操作,允许其他成员提交对该文件的修改。,svn使用图标说明,这个图标表示当前文件夹下的某些文件或文件夹已经被计划从版本控制中删除,或是该文件夹下某个受控的文件丢失了。 加号告诉我们有一个文件或是目录已经被计划加入版本控制。,4 subversion基本操作,安装客户端 访问svn 认证 取出工作副本 更新工作副本 添加、修改、删除、重命名文件或文件夹,安装客户端,1、下载安装文件tortoisesvn. 2、双击以上安装文件,逐个点击下一步即可完成安装 3、默认安装路径为c:program filestortoisesvn,也可以自己指定对应的安装路径 点击安装languagepack_1042-win32-zh_cn.msi. 4、安装完毕后,点击鼠标右键即可看到以下界面,如图:,访问svn,http方式访问svn 打开浏览器,输入对应的url地址及认证信息,界面显示如图 该方式的优点: 用户不安装客户端工具即可对svn库内资源进行浏览查阅。,访问svn,tortoisesvn工具访问svn 1、点击鼠标右键,选择repo-browser,如图: 2、在url框中输入svn库的url地址,如图:,访问svn,tortoisesvn工具访问svn 3、点击ok,在认证框输入认证信息即可进入,如下图: 4、该方式的优点: 可以通过tsvn客户端工具对svn库进行编辑管理。,认证,1、当你访问一个有密码保护的库,一个认证对话框会跳出来,如图 2、输入你的用户名和密码 ,点击ok即可进入svn库。 3、在认证框中勾中 ,则登录后对其进行操作和再次登录后不需再次输入认证信息(注:如果不勾中该选项则对svn库的每一步操作都会提示你输入认证信息)。 4、按上步勾中后,要删除认证信息,请选择settings对话框,并且点击clear auth cache按钮。,取出工作副本,假如已在服务端(37)建立一个该项目的版本库project,取出工作副本的步骤为: 1、比如,在e盘下新建个文件夹名为project(命名随意),在project文件夹上,右键单击鼠标。选择svn checkout,会出现如下窗口,如图,取出工作副本checkout,2、在checkout directory中如果你输入一个不存在的目录名,该目录会自动创建。 3、在revision中,选中head revision,这样将会下载版本库的最新版本。如果想下载库中的旧版本文件,可选中revision,然后填入版本号即可。 4、单击ok,输入用户名和密码。 注意:你只能取出到一个空目录。假如你想要取出到先前导入的原始目录,subversion会抛出一个错误。你必须取出到另外的一个目录或者先把原始目录删掉。,update(更新),如果其它用户对svn库拥有写权限,则每次在工作区文件夹下修改本地工作副本的文件之前,必须首先对本地工作副本执行一次更新,即右键单击工作区,选择svn update如图,将最新的版本下载到本地,然后再进行其它操作。,工作副本中创建文件夹,本地的工作区文件夹,即project上会有绿色对勾出现,工作区下的文件也会带有绿色对勾。新建文件夹的步骤为: 1、在本地工作区中,新建一个文件夹,新建的文件夹没有绿色对勾。 2、在project文件夹里面点右键,选择svn commit,如图。,工作副本中创建文件夹,3、弹出对话框,勾选我们新建的文件夹,点击ok,如图。,tortoisesvn工具中创建文件夹,1、通过tortoisesvn工具进入svn库,选择要创建的文件夹的上级目录,点右键,选create folder,如图: 2、在弹出的窗口中写上新建的文件夹名字,点击ok 即可。,工作副本中添加文件夹或文件,1、将要添加的文件夹或文件放到工作副本的相应目录下(这里我放到workspace)。 2、在workspace 文件夹里面点右键,选择svn commit,如图:,工作副本中添加文件夹或文件,3、在弹出对话框中,勾选我们添加的的文件夹和文件,点击ok,如图:,tortoisesvn工具中添加文件夹或文件,添加文件夹的步骤: 通过tortoisesvn工具进入svn库,选择要添加的文件夹的上级目录,点右键,选择add folder,如图,再选择要添加的文件夹即可,tortoisesvn工具中添加文件夹或文件,添加文件的步骤为: 通过tortoisesvn工具访问svn,进入svn库,选择要添加的文件的上级目录,点击右键,选择add file,如图,然后选择要添加的文件即可。,修改文件内容,如果在工作副本中对库的某一个文件进行了修改,系统会自动为这个文件和这个文件所在的各级父文件夹加上红色叹号,代表该文件或目录已经在本地被修改,如图 : 当所有对版本库的修改操作完毕后,右键单击工作区文件夹,选择svn commit在弹出的窗口中勾选修改的文件或文件夹,点击ok即完成对版本库的更新。,工作副本中删除文件或文件夹,1、在本地工作区文件中删除你要删除的文件或文件夹。 2、右键单击工作区文件夹,选择svn commit。 3、在弹出对话框中,勾选删除的文件夹或文件,点击ok即可。,tortoisesvn工具中删除文件或文件夹,1、通过tortoisesvn工具进入svn库,选中要删除的文件夹或文件,点击右键选delete,如图: 2、在弹出的窗口中点击ok即可。,工作副本中重命名文件,1、在本地工作区中,修改要重命名的文件的名称,此时该文件的绿色对勾消失。 2、右键单击工作区文件夹,选择svn commit提交新版本。 3、在弹出对话框中,勾选重命名的文件和原始名称文件,点击ok,如图。 注意:在工作副本中不能重命名文件夹,tortoisesvn工具中重命名文件夹或文件,1、通过tortoisesvn工具进入svn库,选中要重命名的文件夹或文件,点击右键选rename,如图 : 在弹出的窗口中输入修改后的名称,再单击ok即可。,5 svn其它操作,填写日志 查看日志 add(添加) revert(还原) add to ignore list (忽略文件) 历史版本回溯 版本分支图,日志信息填写规则,好的日志信息和糟糕的日志信息 日志信息主要记录的是每次的修改内容。建议把一些重要数据、关键操作写到日志信息中。 注:修改人和提交时间由软件自动记录,无需人工写入日志信息,show log (显示日志),如果想查看一个文件的日志,右键单击这个文件,选择show log,系统会弹出一个窗口,并在窗口中显示文件版本的log,如图:,add(添加),选中文件/文件夹(在新文件/文件夹所在父文件夹点击右键), 在菜单中选择“添加add”命令。不需要受svn控制的文件请取消打钩。,revert(还原),作用:撤销本地所有未提交的修改 注意:还没有执行commit操作之前执行此命令才可以,否则无效。,add to ignore list (忽略文件),添加忽略文件 右键一个单独的未进入版本控制文件tortoisesvn (加入忽略列表)add to ignore list,会出现一个子菜单允许你仅选择该文件,或者所有具有相同后缀的文件。 删除忽略文件: 如果你想从忽略列表中移除一个或多个条目,右击这些条目,选择tortoisesvn 从忽略列表删除。 已进入版本控制的文件或目录不能够忽略,如何得到历史版本,工作副本右键显示日志选择所需的版本号更新项目至版本,版本分支图,这个版本历史分析图能够显示分支/标签从什么地方开始创建,以及什么时候删除。 版本分支图将显示以下内容: (1)增加文件/文件夹(2)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论