SVN流程及使用指南

由於公司部門後臺人多、項目多、繁雜,但是有沒有統一的SVN提交規範流程,所以他們在開發過程中總是遇到很多令人蛋疼的問題,比如說:代碼被別人覆蓋等.於是乎,小組長就專門開了一個會議,最終決定採用在trunk上發佈、branch上開發的模式.

以下是SVN詳細的使用流程:
1. 簡介
1.1. trunk
主幹:測試、沙箱、生產均從這裏獲取代碼。
1.2. branches
分支:所有研發人員在此目錄下研發。分支的新建與刪除均由項目Leader確定。
1.3. tags
標籤:像分支一樣備份代碼。但是 Tag不被用來開發,他們只是用來標記歷史上線代碼的狀態。
2. 一些規範
2.1. 關於中文路徑
目前在SVN相關開源軟件中,對於中文的支持普遍不佳,中文目錄在實際使用中會解析成一長串ASCII碼顯示,根據部門目前情況,作如下規定。
″ 程序源代碼、配置文件目錄及其父級目錄必須使用英文,且路徑不能包含空格。如需分隔,請使用下劃線。
″ 目錄命名可使用英文名,也可以使用漢語拼音,具體使用,根據研發人員接受程度而定。
″ 其他目錄不禁止使用中文,但也不推薦。
2.2. 程序版本號
程序版本號規則:A.B
″ A表示大版本號,B表示小版本號。如有需求也可使用A.B.C三位版本號。版本號從0開始,由研發人員確定;
″ 程序版本號只能上升,不能下降。
″ 高版本的程序包含低版本程序的功能。
2.3. 項目名
爲了訪問方便、快捷。項目名請使用小寫字母,使用下劃線分隔,儘量做到見名知意。如:yanglao。
2.4. branch命名規則
命名規則:項目名程序版本號六位日期
″ 六位日期爲開分支當天時間。
″ 六位日期:年份後兩位,月份兩位,日期兩位。
2.5. tag命名規則
命名規則:項目名分支程序版本號六位日期
″ 六位日期爲程序最終上線日期。
″ 六位日期:年份後兩位,月份兩位,日期兩位。
2.6. tag標識通知
程序上線完成後,開發人員應將上線相關信息,郵件通知相關人員。
詳情見附錄一。
2.7. 忽略目錄
所有IDE、Ant、Maven等工具自動生成的文件和文件夾都應配置忽略。如target build *.iml .idea .settings .classpath .mymetadata .project
2.8. 目錄說明
每個項目下面都有如下目錄,下面對這些目錄進行詳細解釋:(公司先階段暫時不適合,看看就好)
  branches:分支(所有的開發任務都是在分支上進行的)
branch:分支名
01_Documents:文檔
  01_Requirements:需求分析
  02_Design:系統設計(如詳細設計,UI設計等)
  03_Testing:測試文檔
  04_Guides:幫助文檔(如開發API,用戶幫助文檔)
  02_Source:代碼
  03_Other:其他文件
  tags:標籤(僅標識每次上線內容)
  trunk:主幹(用於測試和上線)
ps:解釋下數字的作用,用於多個文件夾排序。
2.9. 分支生命週期
一個分支對應一個上線版本,上線完成後該分支就應該丟棄。重新從最新tag開新分支。研發人員也應在新分支開發新版本的程序。
3. 流程
這裏寫圖片描述

3.1. 正常流程
1. 項目Leader從tags拷貝最新源代碼到branch1。
2. 研發人員完成開發需求後,將程序送測。由配置管理員或者項目Leader將branch1合併到trunk。注1
3. 配置管理員將trunk的代碼編譯,打包,發佈到測試環境。
4. 測試人員測試程序,如發現bug,研發人員在branch1 修改。
5. 程序上線完成後,配置管理員或者運維在tags目錄標識最新上線代碼。
注1:將branch1合併到trunk前,請將最新的tags代碼合併到trunk,確保沒有其他分支合併到trunk。
3.2. 異常流程
此流程僅適用於branch1中存在有不能上線的代碼時使用。
1. 項目Leader從tags拷貝最新源代碼到branch2。
2. 研發人員將branch1的需要上線的代碼提交到branch2.
3. 研發人員完成開發需求後,將程序送測。由配置管理員或者項目Leader將branch2合併到trunk。注2
4. 配置管理員將trunk的代碼編譯,打包,發佈到測試環境.
5. 測試人員測試程序,如發現bug,研發人員在branch2 修改
6. 程序上線完成後,配置管理員或者運維在tags目錄標識最新上線代碼。
注2:將branch2合併到trunk前,請將最新的tags代碼合併到trunk,確保沒有其他分支合併到trunk。
4. 使用教程
演示使用TortoiseSVN 1.8中文版。
4.1.1. 創建一個branch
步驟如下:
1. 找到xxx項目的最新tag,在該目錄上右鍵
2. 顯示日誌(確定版本號)
3. 右鍵,選擇從版本庫創建分支/標記
4. 按規則輸入分支路徑,日誌
5. 點擊確定。分支創建成功。
這裏寫圖片描述
這裏寫圖片描述

4.1.2. 創建一個tag
步驟如下:
1. 在trunk目錄上右鍵
2. 顯示日誌(確定版本號)
3. 右鍵,選擇從版本庫創建分支/標記
4. 按規則輸入tag路徑,日誌
5. 點擊確定。tag創建成功。

這裏寫圖片描述

這裏寫圖片描述

4.1.3. 合併
合並可以用於,branch合併branch、branch合併trunk、trunk
合併tag、branch合併tag。不管是哪個合併哪個,其原理和操作步驟都相同,演示使用branch合併trunk。
合併步驟如下:
1. 檢出trunk到本地並打開文件夾
2. 右鍵→TortoiseSVN→合併
3. 選擇合併類型(合併一個版本範圍),下一步
4. 選擇合併的源URL(演示使用的是分支),其他選項默認,下一步→
5. 測試合併,查看是否有衝突
6. 合併,解決衝突(如果存在)
7. 最後,別忘記提交。
這裏寫圖片描述
這裏寫圖片描述

NOTE:指定(a)範圍選項可以選擇需要合併的版本號。點擊顯示日誌查看詳情
這裏寫圖片描述

這裏寫圖片描述
這裏寫圖片描述

5. 附錄
5.1.1. 附錄一:tag標識通知
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章