软件配置管理SCM与版本控制系统VCS
·SCM的任务是追踪与控制软件中的变化
SCM实际任务是版本控制和建立基线
·Software Configuration Item (SCI)软件配置项
软件配置项是软件配置管理的基本单位,任何需要管理的要素都时软件配置项(源代码、数据、文档、软硬件、环境等)
基线是在某时间点上,通过评审和认可后的版本,作为后续变化的基点。
·版本是给软件的某个状态唯一的标识
版本控制目的:多个开发人员之间的通信和共享/合并工作,记录不同开发人员的工作,以便于审计
·分支和进化图
在分支上进行并行开发,如测试新功能
其他人员不想在新功能完成之前涉及新功能
分支对单个开发人员也很有用
通过正确的设置,任何程序员都可以从任何位置拉出或推送到任何位置,从而在合作模式中创造出极大的灵活性。
·Version Control System (VCS)
Local VCS
Centralized VCS集中式
Distributed VCS分布式
版本控制系统的特点
可靠:在我们需要的时候保留版本,允许备份
多个文件:跟踪项目版本,而不是单个文件
还原、比较版本
审查历史:针对整个项目或单个文件
应允许多人一起工作
合并:合并不同于以前版本的版本
跟踪责任:是谁做出了改变,是谁触及了这一行代码?
并行工作:允许一个程序员单独工作一段时间(不放弃版本控制)。
进行中的工作:允许多个程序成员共享未完成的工作(不中断其他程序,不放弃版本控制)