软件版本控制.ppt
文本预览下载声明
软件版本控制 版本控制的基本概念 版本控制为团队和个人带来利益 C/S构架和信息库 C/S构架和信息库 C/S构架和信息库 版本控制模式 版本控制模式 Lock-Modify-Unlock Solution Lock-Modify-Unlock Solution Copy-Modify-Merge Solution Copy-Modify-Merge Solution Copy-Modify-Merge Solution 工作副本 签出(check out) 提交(commit) 修订版本 标记(Tag) 分支(Branch) 分支的作用 合并(Merge) * 版本控制的基本概念 Microsoft Visual sourcesafe 简介 CVS 介绍 版本控制是信息变更管理的艺术 长久以来,版本控制是程序员不可或缺的工具。但版本控制并不仅仅应用于研发领域。使用计算机的人每天都在管理着大量的信息,这些信息都不是一成不变的。“事实上,版本控制就像人的呼吸一样,当一切正常时,你感觉不到它的存在,但它的确能让事情更加顺利”。 什么是版本控制 它给团队提供了一个项目范围内的回退机制。 它为多人协作提供了一种可控的方式 它可以将一段时期内对信息的变更记录下来 它可以让你同时支撑维护同一软件的多个版本而不会影响到你的主体思路。 版本控制是项目范围内的时间机器 版本控制的基本概念 版本控制系统必须将共同关心的信息集中起来以便于共享。其核心是信息库 信息库以文件系统树的形式存储信息 多个客户端可以连接到信息库进行读/写操作。每一个客户端写入的信息都可以被其他客户端看到同时每一个客户端都可以看到其他客户端写入的信息。 版本控制的基本概念 版本控制的基本概念 版本控制的基本概念 版本控制的基本概念 文件共享时出现的问题: Lock-Modify-Unlock Solution Copy-Modify-Merge Solution 版本控制的基本概念 版本控制的基本概念—版本控制模式 不易管理 若A在锁定之后因为某种原因忘记解锁,则B必须等待而无法继续。这将造成管理困难,并造成时间上的浪费。 造成不必要的串行操作 A和B无法同时操作同一文件的不同部分。此时只能将并行操作变成串行操作,影响了效率。 版本控制的基本概念—版本控制模式 Lock-Modify-Unlock模式的缺点: 版本控制的基本概念—版本控制模式 版本控制的基本概念—版本控制模式 合并(Merging)无法做到完全自动化,需要人工干预。 版本控制的基本概念—版本控制模式 Copy-Modify-Merge 模式的缺点: 版本控制的基本概念—工作副本 信息库只是存放项目文件,我们如想为我们的应用增添新的功能,就必须将文件放到我们能为应用增添功能的地方。这个地方叫作工作区 工作区中存放的文件是从信息库中得到的文件的副本。对于中小型项目,这些副本一般是项目需要的所有源代码和其他文件的副本;对于大型项目,它们可能只是项目代码的一个子集。 我们把工作区称为代码的工作目录或工作副本。 我们从信息库中取出文件(形成工作区)的过程叫作签出。 当你从信息库中签出文件时,会在工作区中得到文件的最新副本。这些文件将被复制到一个与信息库相同的目录结构中 版本控制的基本概念—工作副本 签出后我们一般需要更改得到的文件/路径 将修改后的文件放回信息库的过程称为提交(签入) 签入的过程是作为事务提交的—要么所有的更改生效,要么所有的更改都不生效。 版本控制的基本概念—工作副本 每次信息库接受了提交后,其文件系统都回处在一个新的状态 版本控制系统会为每个新的状态建立一个新的编号。 我们把这种变化叫作修订版本号。 版本控制的基本概念—修订 注意:修正版本号一般是版本控制系统内部使用的编号 应该与其外部版本号区别开来 版本控制系统允许你为特定时间点的一组文件(或模块,或整个项目)指派标记名称 标记是一种记录项目代码历史上发生的重要事件的重要方式 标记一般用来标志项目的里程碑或重要分支 版本控制的基本概念—标记 大多数的共同的代码成为主线 某一时间点分裂出的与主干平行的走向成为分支。 版本控制的基本概念—分支 避免分支事务干扰主流事务 使项目的团体之间可以并行开展工作 版本控制的基本概念—分支 将不同分支上所作的修改统一起来的过程称为合并 版本控制的基本概念—合并 版本控制的基本概念—合并 Visual Sourcesafe 结 束 谢 谢! * * *
显示全部