軟體配置管理SCM與版本控制系統VCS
- 軟體配置管理SCM
-
- 基本概念
- 版本控制系統VCS
-
- 分類
-
- 本地版本控制系統
- 集中式版本控制系統
- 分布式版本控制系統
- Git工具
-
- 操作可視化
- Object Graph
- 存儲檔案
-
- 基本操作
-
- git commit
- git push
- git分支/合并
軟體配置管理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分支
最終結果: