内部质量指标:正确性、健壮性、可扩展性、可复用性、效率、及时性
外部质量指标:可读性、可理解性、清晰度、大小
SCM软件配置管理:追踪和控制软件的变化;软件配置项(软件中发生变化的基本单元例如文件);基线(软件持续变化过程中的稳定时刻,例如对外发布的版本);CMDB:配置管理数据库(存储软件的各配置项随时间发生变化的信息+基线)
VCS版本控制系统:包括Local VCS(仓库存储于开发者本地机器无法共享和协作)、Centralized VCS(仓库存储于独立的服务器支持多开发者之间的协作)、Distributed VCS(仓库存储于独立的服务器+每个开发者的本地机器)。
Git:结构
每个commit指向一个父亲;多个commit指向同一个父亲:分支;一个commi指向两个父亲:合并。
Git存储发生变化的文件(而非代码行),不变化的文件不重复存储
文件未发生变化,则后续多个版本始终指向同一个文件
文件发生变化了,存储两份不同的文件,两个版本指向不同的文件
基本指令:
生成新分支:git checkout -b new
删除分支:git checkout -d new
用当前的分支合并目标分支:git merge new