版本控制的目的:

适当的保存历史版本,可以在失手的时候回退到上一个安全的地方

上次安装的是哪个版本,这次升级到哪个版本,如果升级失败,应该回退到哪个版本

一、在修改程序之前,从哪拿到最新版本?

如果该问题得不到解决,程序员就可能基于过时的程序开始自己的工作,存在

二、在修改之后把修改的结果提交到哪?

如果该问题得不到解决,程序员的工作就可能被湮灭,王改了一个BUG1,但是张在改BUG2时没在王的基础上改,改完了直接给客户了,导致改好的BUG又重现了。

VSS是微软公司出品的一款版本控制工具,它默认的是串行的方法:在修改前,锁定相应的文件,以免本人同时修改。在修改后,解锁。

SVN默认支持并行的方法。允许不同的程序员同时修改同一处地方,由版本控制工具记录每个人修改前的版本,和修改后的版本,在将来的某一时刻把他们的修改合并。

行话

公共存储区又叫版本库,存储库,存储池

个人存储区叫工作空间或工作区或沙箱

检入检出

适时更新工作空间

适时更新工作空间,以免版本库中别人有了新的版本自己用的还是过时的

整体版本

软件的整体版本又叫快照,用户、领导、测试人员只关心整体版本,不关心产品是由哪些源文件编译而成的

1、复制当时的全部源代码

2、每个文件的特定版本组合在一起是产品的特定版本,所以记录产品的的某个版本,只需要记录这个版本是由哪些文件具体哪个版本组成的,在操作上可以在香瓜文件的特定版本上打个标签,标签的名字就是整体版本的名字

基线

被明显地标识和记录下来的源代码整体版本,SVN中程序员的每一次提交,对应一个自动递增的编号,这个编号也就是任务单元的编号,也就是提交后源代码新的整体版本的编号

保存安装包

安装包通常包含了交给软件使用者的全部内容,从使用者的角度,安装包就代表了这个软件产品。

安装包通常也是系统测试的工作对象,安装包可以保存在共享目录下,该共享目录可以在局域网上共享,要合理的设置访问权限

开发-测试-发布

在送交测试前,应该保存源代码的整体版本。这样如果测试出问题可以准确的复现当时的代码。如果不保存源代码版本会有两个风险:

1、测试期间BUG随报随改,版本库中的源代码不断修改,某个BUG在版本库中的新代码上无法复现不能确定BUG是改好了还是被隐藏起来,可能会在将来的版本上冒出来此BUG。

2、测试通过,即将发布。这时要保存此次发布所对应的源代码,但是在测试期间版本库中的代码已经被修改了无法确定当时提交测试时的源代码的内容无法确定发布给客户的版本所对应的源代码。

有时候发布的安装包里可能需要添些发布说明文件等文件。

版本号

在软件领域,源代码有版本号,文档有版本号,产品整体有版本号(体现在安装包和源代码整体版本上)。

用户需要版本号来标识不同的版本。用户希望知道产品有了什么变化,是修复了几个BUG,是小幅调整了一些功能,还是有哪些重大变化?用户会据此来判断哪个版本比较新,比较稳定。

研发内部的版本号可以是对外发布版本号中再增加一位,说明是新版本发布的第几次送测,或称第几次内部发布。比如1.0.3.0,是发布版本1.0.3在发布前的第一次送测,而1.0.3.1是发布前的第二次送测。新增加的这一段不必让外部用户知道。

版本质量状态

软件版本可能有不同的目的,先是开发完打个标签(冒烟测试通过),提交测试,测试通过后再打个标签(系统测试通过),然后发布出去了。

这样这个软件的质量状态最后变为了系统测试通过

构建(build)

根据固定和明确的输入,使用固定和明确的工具,按照固定和明确的方法,产生的输出就是固定和明确的。

构建分为全量构建和增量构建

clearmake支持unix平台上的并行分布构建:同时利用多个CPU,或多台计算机。

clearmake构建派生对象时,会留下一份记录,记录何人何时在什么平台上构建的每一个派生对象,同时记录此次构建过程中引用了什么文件的什么版本,以及其他相关信息。

环境和设置-运行环境

运行环境。对于最终用户来讲,这个是唯一关心的环境。但是不仅仅是最终用户关心它;测试人员关心它;开发人员关心它,因为要在这之上调试和测试。

运行环境:硬件环境,最低版本以及推荐版本

软件环境,是否需要预先安装平台软件(JDK、Perl、Python等语言);是否需要安装动态链接库;预先做哪些配置和设置;浏览器最低版本以及推荐版本。

文件级分支

产品级分支

实现多层集成

实现交迭

配置管理--版本控制的目的相关推荐

  1. CMMI流程—配置管理流程

    配置管理(Configuration Management, CM)的目的是通过执行版本控制.变更控制等规程,以及使用配置管理软件,来保证所有配置项的完整性和可跟踪性.配置管理是对工作成果的一种有效保 ...

  2. 信息文档管理与配置管理

    1.软件文档三类: 开发文档--开发过程本身 产品文档--开发过程的产物 管理文档--项目管理的信息 2.文档的质量可分为4级: 最低限度文档 1级文档--低于1个人月的开发者的自用程序 内部文档 2 ...

  3. CMMI2.0之我见-配置管理CM

    编者按: CMMI2.0之我见系列将通过系列文章形式介绍CMMI2.0所涉及到的其中20个实践域,笔者将通过系统性的梳理.浅显易懂的文字描述,同时结合笔者的思考和观点,对每个实践域的目标以及所基本涵盖 ...

  4. 泛微软件的CMMI配置管理实施法

      能力成熟度集成模型 (Capability Maturity Model Integration,CMMI)是由美国卡耐基·梅隆大学的软件工程研究所)组织开发于2002年发布的一种规范.实用的途径 ...

  5. 第三章 软件构造过程与配置管理

    第三章 软件构造过程与配置管理 第三章 软件构造过程与配置管理 Software Development Lifecycle(SDLC)软件开发生命周期 From 0 to 1 从无到有 From 1 ...

  6. 什么是版本控制,什么是代码托管平台

    什么是版本控制 如果在开发团队中没有使用版本控制,多个开发人员共同负责同一个软件或文档的开发,每个人在各自的机器上有整个软件文档的备份,并对之实施编程开发,在分别完成各自任务之后,再通过文本比对工具将 ...

  7. 《系统集成项目管理工程师》必背100个知识点-78配置项的版本控制

    为什么要进行配置项的版本控制? 在项目开发过程中,绝大部分的配置项都要经过多次的修改才能最终确定下来.对配置项的任何修改都将产生新的版本.由于我们不能保证新版本一定比老版本"好", ...

  8. 挑灯夜读——MySQL多版本控制

    MySQL多版本控制解读 为什么会有多版本控制 多版本控制介绍 InnoDB存储引擎MVCC的实现策略 实现的效果 为什么会有多版本控制 多版本控制存在意义: 在我们的隔离级别中,MySQL的默认隔离 ...

  9. 软件配置管理之配置管理计划

    update部分: 目前我认为配置管理计划里面把配置管理团队的工作进行一个描述,或者按过程书写来得更加实际,而且也便于指导团队工作. 原文: 配置管理计划应包含内容: 1.引言 ★配置管理计划的目的, ...

最新文章

  1. 元旦福利 | Python、机器学习、TensorFlow 图书送一波
  2. angular HttpClient post put patch del 方法(2)-Promise 服务
  3. 美国第一台电子计算机是由女程序员编写的
  4. 哲学家就餐问题linux源代码,Linux下实现哲学家就餐问题
  5. 常见的 Error 和 Exception
  6. Java数组相关知识
  7. IDEA 开启远程调试
  8. 华为C语言编程规范(精华总结)
  9. MMORPG端游《ELYON》12月10日上线 采用买断式收费方式
  10. Android 打印Log语句
  11. Eureka注册服务配置info-使用$project.artifactId$无法动态显示artifactId
  12. Kali Linux 安装 Remmina 远程桌面并使用
  13. 数字图像处理 彩色图象处理
  14. 软件测试计划怎么写?模板在这呢
  15. git查看指定目录的提交日志
  16. 解决网页播放【鼠标移开屏幕或点击屏外视频暂停播放】
  17. MySQL函数(经典收藏)
  18. Android工程中前红色感叹号是什么意思
  19. 虚拟磁盘discard在qemu中的应用
  20. 无题(2011.9.28)

热门文章

  1. LinuxProbe学习笔记(十五)
  2. 公司股权分配协议 (2)
  3. 台湾鑫创SSS1700最新版中文说明书|SSS1700最新版中文规格书|SSS1700datasheet中文讲解
  4. 台湾清华大学物联网--001 物联网基础架构与应用简介
  5. 数据结构与算法期末复习总结
  6. 黑群晖(XPEnology)无法启动重建系统并保留数据经验总结
  7. creo草绘工程图线条粗细设置
  8. 获取浏览器具体的下载链接地址,通过迅雷下载
  9. 视觉SLAM十四讲 报错 Could not find a configuration file for package “OpenCV“ that is compatible with reques
  10. 联想启天m420刷bios_联想启天M420c台式机装win7系统及bios设置教程(支持usb驱动)