第二章 软件构造过程——1. 软件配置管理SCM与版本控制系统VCS

本章知识清单:

  1. 软件配置管理SCM与版本控制系统VCS
  2. Git的结构、工作原理、基本指令


软件配置管理SCM与版本控制系统VCS

软件配置管理SCM(Software Configuration Management):

其主要功能为追踪和控制软件的变化,有以下几个术语需要着重了解:

  • 软件配置项SCI(Software Configuration Item):软件中发生变化的基本单元,例如文件等。

  • 基线(baseline):软件持续过程中的“稳定时刻”,例如对外发布的版本等。

  • 配置管理数据库(CMDB):存储软件的各个配置随时间变化的信息+基线。
  • 版本控制(Versioning):为软件的任意特定时刻(Moment  见第一章)的形态指派一个唯一的编号,作为“身份标识”。

先来说明为什么需要版本控制:

对于个人而言:

  • 可以回退到上一个版本
  • 可以比较两个版本的差异
  • 可以备份软件版本历史(push)
  • 可以获取备份(pull)
  • 可以合并(merge)
对于团队而言:

  • 便于在多个开发者之间共享与协作
  • 记录每个开发者的动作,便于“审计”


之后阐述几个版本控制的术语:

  • 仓库(repository):即SCM中的CMDB。
  • 工作拷贝:在开发者本地机器上的一份项目拷贝。
  • 变化(change or diff):即code churn, 两个版本之间的差异。
  • Head:程序员正在其上工作的版本。

好,现在基础概念已经完全阐述完毕,现开始说明版本控制系统VCS。


版本控制系统VCS(Version Control System)

VCS的分类:

  • 本地版本控制系统(Local VCS):仓库存储于开发者本地机器无法共享和协作。

  • 集中式版本控制系统(Centralized VCS):仓库存储于独立的服务器,支持多开发者之间的协作。

  • 分布式版本控制系统(Distributed VCS):仓库存储于独立的服务器+每个开发者的本地机器。


总结:

看起来很复杂很高级,但其实知识点真的不难,就是概念比较多,比较恼人,然而细看这不是以前都学过的东西嘛!!!干货确实不多,计算机要学的东西那么多,为什么总是喜欢把一个东西变的花样的叫很多名称呢?麻烦……(逃……)

猜你喜欢

转载自blog.csdn.net/qq_37549266/article/details/80665345