SVN使用流程指南【僅供參考】

一,SVN相關基本操作大致如下圖所示:
圖1

二,項目開始之前,項目經理(或技術Leader)在SVN服務器上創建目錄規範,如下圖所示:
在這裏插入圖片描述
說明:
項目經理(或leader)在SVN服務器建立3個文件:trunk,branches,tags 文件夾。
①trunk:主幹,當前項目正在開發的主目錄。
②branches: 分支目錄,添加非主線功能時使用,開發測試之後,可以合併到主幹項目中。
③tags:標記目錄,通常作爲重大版本的備份。

三,SVN在項目開發中基本大致使用流程(用CornerStone):

1,首先項目經理初始化項目並將其導入SVN的trunk文件夾下。

2,項目經理給開發人員分配SVN權限,並分配相應賬號密碼。

3,開發人員A和B拿到SVN上trunk文件夾路徑,使用SVN賬號密碼成功登錄CornerStone,然後checkout 下新項目開發進入開發,A負責開發新功能1,B負責開發新功能2。

4,A新功能開發完成,然後在CornerStone中先update最新代碼,然後commit代碼至SVN服務器trunk文件夾下對應的當前項目文件夾下。B新功能開發完成,做同樣更新提交操作。

5,項目經理將項目提交給測試人員測試,多次測試及bug修復後,測試反饋暫無bug准以上線,則項目1.0可以上線發佈。

6,項目發佈上線。

7,項目上線後,項目經理需要將項目1.0版本備份至tags文件夾下。

 具體操作是:選中SVN服務器上trunk文件夾下的當前項目,然後點擊CornerStone頂部的“tag”按鈕,然後根據窗口提示輸入相正確文件名及地址保存即可,然後tag文件夾下就會生成trunk文件夾下當前項目1.0的副本。

8,項目1.0開發完成後,項目進入了2.0開發階段,其中開發人員A負責新功能3,開發人員B負責新功能4。

9,過了幾天,突然,客戶反饋線上的版本存在重大bug,嚴重影響用戶使用。於是經理便讓開發人員B暫停當前版本2.0開發任務,轉向項目1.0版本的bug修復工作。

10,這時項目經理需要單獨爲開發人員創建一個branch(專門修復項目v1.0bug的分支)。

 具體操作是:
 ①經理選中SVN服務器上的tag文件夾下的當前項目1.0版本文件夾,然後在選中點擊CornerStone頂部的“branch”按鈕,然後根據窗口提示輸入正確文件名及地址保存即可。
 ②然後branch文件夾下就會生成一個項目1.0版本的副本,然後經理copy文件路徑交給開發人員B,B拿到路徑將branch文件夾下的代碼checkout,然後在該代碼中修復項目1.0版本中的bug。

11,開發人員B修復完畢將代碼提交到服務器branch下的對應項目中(此時是修復項目1.0版本bug的項目),提交給測試進行測試,測試人員反饋沒問題後,此時開發人員A由於項目2.0的新功能3還在開發中,那麼項目經理便可以將服務器上branch的代碼合併(merge)至自己本地項目2.0版本中,便於下次提交新版本時將1.0版本修復的bug同2.0版本新功能同時發佈。

  ** merge 的具體操作:**
  
  ①項目經理先將服務器trunk下的項目代碼checkout至本地。
  ②然後選中它,然後點擊”merge“按鈕,彈出窗口,然後注意“merge from”選項 ,要選擇服務器上branch下的項目(即修復版本1.0bug的項目),然後點擊底部“merge change”按鈕即可。
  ③項目經理檢查代碼並確認開發人員B確實已修復版本1.0bug,然後將自己本地項目代碼commit至SVN服務器的trunk上。

12,項目經理通知開發人員A和B:branch上的代碼已merge至trunk,請及時update,然後開發人員A和B update代碼後又繼續版本2.0的開發。

13,項目經理將branch下的項目(修復1.0版本bug的項目)備份到tags文件夾,並取名爲“項目版本1.1”(即修復1.0之後的版本)

14,項目經理刪除SVN服務器上無用的branch下的項目(之前用於修復1.0版本bug的項目)

15, 版本2.0新功能開發完畢,提交給測試人員測試,多次測試及bug修復後,測試人員反饋暫無bug准以上線,則項目2.0版本可以上線發佈。

16,項目上線後,項目經理需要將項目2.0版本備份至tags文件夾下,並取名爲“項目2.0版本”

17,再次回到第8步,開始類似循環。。。就這樣項目不斷向前開發着。。。

四,使用SVN 我們應該注意【=> 很重要 <= !!!】
在這裏插入圖片描述
五,SVN優缺點

優點:
1、 管理方便,邏輯明確,符合一般人思維習慣,集中式管理,管理方式在服務端配置好,客戶端只需要同步提交即可。
2、 易於管理,集中式服務器更能保證安全性,服務端可統一控制不同成員的訪問權限,便於代碼的安全管理。
3、 所有的代碼以服務端爲準,代碼一致性高。
4、 適合開發人數不多的項目開發,SVN對中文支持好,操作簡單,使用沒有難度,美工人員,產品人員,測試人員,實施人員都可輕鬆上手。使用界面統一,功能完善,操作方便。

缺點:
1、 服務器壓力太大,數據庫容量暴增。
2、所有操作都需要聯網通過服務端進行同步,這會導致服務器性能要求比較高。如果服務器宕機了或者斷網就無法提交、還原、對比等其他操作。
3、 不適合開源開發。
4、 分支管理不靈活。
5、 分支和合並(merge)功能沒有git強大,速度沒有git快。

  **注:該文章僅供參考,文中有些圖片來源於網絡。**
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章