對SVN的落地與實踐總結

小龍女先生發表於2019-03-09

現今最為流行的Git是管理很幾套很成熟的分支管理策略。而SVN確實也有,但結合現公司的實際場景還是做了些調整和變動。

一、分支命名規則

  1. 所有分支命名採用小寫字母 + 數字 + 特殊符號 組成
  2. 專案分支命名以proj- + 專案名稱 + tags(版本名),如:proj-jd-v1.0.0
  3. 版本(tags)以v+版本號(版本號採用三位版本策略,即:主.次.內),如:v1.0.1
  4. 修改Bug的分支以hotfix-+tags命名,如:hotfix-v1.0.1
  5. 分支、版本命名不可帶年月日相關資訊,此類資訊可以放置於備註

二、分支管理策略

2.1 主要分支說明

  1. trunk為主幹分支,所有產品或發版相關開發都在此分支上進行
  2. proj-開頭的分支,用於特殊需求的客戶,必須基於tags建立,原則上不允許合併到trunk分支
  3. v開頭的是tags,產品釋出的迭代版本
  4. hotfix-開頭的分支,用於修改相關版本的Bug,必須基於tags建立,必須能合併到trunk分支
  5. 現場部署的產品或專案必須是基於tags或hotfix開頭的分支程式碼,不允許直接將trunk分支程式碼部署到現場
  6. hotfix和trunk分支在有條件的情況下可以合併到proj分支,但必須在相關管理人員稽核的情況下實施

2.2 分支結構圖

clipboard

三、與專案/產品的接合

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時,必須要包含資料庫變更指令碼、功能清單兩個文件

相關文章