天天看点

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

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

  • 软件配置管理SCM
    • 基本概念
  • 版本控制系统VCS
    • 分类
      • 本地版本控制系统
      • 集中式版本控制系统
      • 分布式版本控制系统
  • Git工具
    • 操作可视化
    • Object Graph
  • 存储文件
    • 基本操作
      • git commit
      • git push
      • git分支/合并

软件配置管理SCM

基本概念

1.SCM:追踪和控制软件的变化

2.SCI软件配置项:软件中发生变化的基本单元,如文件

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

3.baseline基线:软件持续变化过程中的稳定时刻,如对外发布的版本

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

4.CMDB:配置管理数据库

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

版本控制系统VCS

分类

本地版本控制系统

仓库存储于开发者本地机器,无法共享和协作

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

集中式版本控制系统

仓库存储于独立的服务器,支持多开发者之间的协作

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

分布式版本控制系统

仓库存储于独立的服务器+每个开发者的本地机器

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

Git工具

操作可视化

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

workspace:工作区

staging:暂存区

Object Graph

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

特点:

(1)A->B表示在版本B的基础上作出变化,形成了版本A

(2)每个commit指向一个父亲

(3)多个commit指向同一个父亲:分支

(4)一个commit指向两个父亲:合并

存储文件

Git存储发生变化的文件(而非代码行),不变化的文件不重复存储

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

基本操作

git commit

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

git push

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

git分支/合并

开始

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

git checkout –b iss53:创建名为iss53的新分支,即创建一个指针指向当前位置

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

git commit:由于此时在iss53分支上,所以只对该分支进行操作,提交文件后,将iss53指针向后移动一步,master指针不变

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

下面的操作同理,切换到master分支,创建新分支:hotfix,在该分支进行提交

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

切换到master分支,将其与hotfix分支进行合并,合并结果就是两个指针指向同一处

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

-d代表删除hotfix分支

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

若要合并master与iss53分支

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件

最终结果:

软件构造笔记(七)---PPT第三讲软件配置管理SCM版本控制系统VCSGit工具存储文件