SVN原始碼管理
一.svn目錄結構圖
二.svn分支說明
分支 |
用途 |
週期 |
操作及許可權人員 |
特性 |
說明 |
feature* |
功能開發分支 |
需求開始à需求結束 |
相關開發人員及專案經理,配置管理 |
動態 |
從dev開出的分支,專案週期結束刪除 |
dev |
功能開發主線 |
永久 |
相關開發人員及專案經理,配置管理 |
固定 |
從pro_cortp開出的分支 |
fixbug_* |
緊急線上bug修復 |
修復開始à測試通過 |
相關開發人員及專案經理,配置管理 |
動態 |
從當前線上版本的tags開出的分支,修復完成合並主線並同步到開發分支後刪除 |
qa |
用於釋出測試 |
永久 |
專案經理,配置管理 |
固定 |
從pro_cortp開出的分支 |
pro_cortp |
用於線上釋出 |
永久 |
配置管理 |
固定 |
由配置管理將測試通過的qa分支節點合併到pro_cortp |
tags |
用於測試及正式釋出每次釋出記錄點 |
永久 |
配置管理 |
固定 |
由配置管理做測試及釋出記錄的tags,禁止刪除 |
三.svn管理策略
四.svn程式碼迭代流程
1. 開發
- 需求開始後由專案經理根據專案情況控制開發分支的分配,進行需求開發
2. 測試
- 開發在功能完成時由專案經理合併到qa測試分支並通知配置管理髮布測試,配置管理在釋出測試並打上測試tags
注意:在pro_cortp(主線)有變動時(如在bug修復上線後)專案經理應及時將主線的變動同步到正在開發的分支上
3. 預發
- 測試驗證通過由配置管理將qa合併到pro_cortp進行預釋出
4. 釋出
- 配置管理將pro_cortp輸出線上包,並打上release的tags
5. bug修復
- 測試修復
在釋出測試後,一輪測試結束開發人員在dev或feature分支進行bug修改,完畢釋出第二輪測試
- 預發修復
在釋出預測試後,若仍然有bug需在dev或feature分支進行bug修改合併主線,再次釋出預測試
- 生產修復
線上bug存在有兩種情況
a.嚴重bug影響線上正常執行的需從當前線上版本的tags開出分支進行修復驗證。
b.不影響線上正常執行的可放在下一個迭代版本中進行
五.迭代釋出流程圖