软件配置管理SCM与版本控制系统VCS
软件配置管理SCM
基本概念
1.SCM:追踪和控制软件的变化
2.SCI软件配置项:软件中发生变化的基本单元,如文件
3.baseline基线:软件持续变化过程中的稳定时刻,如对外发布的版本
4.CMDB:配置管理数据库
版本控制系统VCS
分类
本地版本控制系统
仓库存储于开发者本地机器,无法共享和协作
集中式版本控制系统
仓库存储于独立的服务器,支持多开发者之间的协作
分布式版本控制系统
仓库存储于独立的服务器+每个开发者的本地机器
Git工具
操作可视化
workspace:工作区
staging:暂存区
Object Graph
特点:
(1)A->B表示在版本B的基础上作出变化,形成了版本A
(2)每个commit指向一个父亲
(3)多个commit指向同一个父亲:分支
(4)一个commit指向两个父亲:合并
存储文件
Git存储发生变化的文件(而非代码行),不变化的文件不重复存储
基本操作
git commit
git push
git分支/合并
开始
git checkout –b iss53:创建名为iss53的新分支,即创建一个指针指向当前位置
git commit:由于此时在iss53分支上,所以只对该分支进行操作,提交文件后,将iss53指针向后移动一步,master指针不变
下面的操作同理,切换到master分支,创建新分支:hotfix,在该分支进行提交
切换到master分支,将其与hotfix分支进行合并,合并结果就是两个指针指向同一处
-d代表删除hotfix分支
若要合并master与iss53分支
最终结果: