天天看點

軟體構造筆記(七)---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工具存儲檔案