現今最為流行的Git是管理很幾套很成熟的分支管理策略。而SVN確實也有,但結合現公司的實際場景還是做了些調整和變動。
一、分支命名規則
- 所有分支命名採用小寫字母 + 數字 + 特殊符號 組成
- 專案分支命名以proj- + 專案名稱 + tags(版本名),如:proj-jd-v1.0.0
- 版本(tags)以v+版本號(版本號採用三位版本策略,即:主.次.內),如:v1.0.1
- 修改Bug的分支以hotfix-+tags命名,如:hotfix-v1.0.1
- 分支、版本命名不可帶年月日相關資訊,此類資訊可以放置於備註
二、分支管理策略
2.1 主要分支說明
- trunk為主幹分支,所有產品或發版相關開發都在此分支上進行
- proj-開頭的分支,用於特殊需求的客戶,必須基於tags建立,原則上不允許合併到trunk分支
- v開頭的是tags,產品釋出的迭代版本
- hotfix-開頭的分支,用於修改相關版本的Bug,必須基於tags建立,必須能合併到trunk分支
- 現場部署的產品或專案必須是基於tags或hotfix開頭的分支程式碼,不允許直接將trunk分支程式碼部署到現場
- hotfix和trunk分支在有條件的情況下可以合併到proj分支,但必須在相關管理人員稽核的情況下實施
2.2 分支結構圖
三、與專案/產品的接合
1. 每次提交都必須有備註,備註以列表形式編寫,如:
1. 修改員工管理功能查詢報SQL報錯的Bug
2. 新增員工功能增加Sex(性別)屬性
2. 產品或專案的share資料夾下的branch.md存放所有相關分支/版本資訊,如:
分支/版本名稱 | 備註
- - - | - - -
trunk | 主幹分支
proj-jd-v1.0.0 | 只提供給jd特殊使用的分支
v1.0.0 | 於2017-10-09號釋出的迭代版本
hotfix-v1.0.0 | 修復v1.0.0相關Bug的分支
3. 新建分支前,必須先到share/branch.md中確認是否已存在相關分支
4. 釋出tags時,必須要包含資料庫變更指令碼、功能清單兩個文件