1. 程式人生 > >Subversion svn 分支、切換、合併、基線

Subversion svn 分支、切換、合併、基線

目的

多個版本中並行開發,提高開發效率;

保證各個版本和各個環境(開發、測試、主幹)的獨立,避免相互影響;

通過分支與主幹的合併,這樣主幹永遠是最新、最高版本,並且都在後面的測試中,保證了質量;

用分支進行bug修改,而主幹上進行新功能的開發。分支上的bug修改完合併到主幹上;

SVN目錄結構

Trunk(開發庫) :

主幹目錄,負責新功能的開發;

此目錄下的檔案為基準檔案,放置穩定程式碼的主要環境;

開發人員日常開發的工作區,由開發者所控制;

Branches(受控庫) :

測試版本程式碼存放的地方,需要開發組長提交測試申請修改;

用於開發的分支目錄,修正當前釋出版本的bug,與此同時主幹上的開發正常進行,兩邊互不干擾;

當一個branch完成了,並且認為它足夠穩定的時候,它必須合併回trunk

Tags(產品庫) :

存放基線庫、釋出版,是測試通過版本存放的地方;

基線,就是給版本建立一個映像(或著叫快照),並不佔用伺服器物理磁碟;

這個資料夾下的內容通常只有配置管理員可以修改,其他人只讀;

分支

分支是給源專案建立副本,讓每個工作組在各自的副本上進行開發,最後再將各個工作組的副本合併到源專案中。在此,各個副本被稱作分支(branches),源專案被稱為主幹(trunk);

分支不是複製版本內容,而是做一個內部的引用,對伺服器也沒有空間上的開銷;

分支定義規則

project name + 日期時間 + 版本號,比如:project_20150202_v1.0.3,在建立每一個分支時,必須增加標註。

建立分支

1. 專案->右鍵->Team->Branch/Tag;

2.“到URL”填寫建立新分支的路徑地址;


3.選擇當前最新的版本;


4.如果勾選了“切換工作複本為新的分支/標記”,eclipse的程式專案會自動切換到分支下;

工作複本切換

1.專案->右鍵->Team->切換;

專案裡就可以在主幹和若干分支間進行任意切換,來實現對不同版本/分支的程式進行修改提交操作;


2.選擇要切換的專案版本路徑,切換到分支下的專案路徑;

3.切換後項目路徑已改變;

標記分支

1.專案->右鍵->Team->配置分支/標記;

2.選擇一個分支專案標記為分支;

3.更改標記分支名稱

合併

當branch版本已經修改和通過測試後合併到trunk,可以合併整個專案也可以合併單個檔案;

1.分支版本做了修改,添加了一行註釋,提交SVN;


2.切換到trunk版本,選中AndroidManifest.xml檔案->右鍵->Team->合併;

3.分支合併到主幹

注:

上圖中的選項:

1) 從主幹合併到分支

2) 從分支合併到主幹

3) 將主幹上的修改合併到分支

4) 合併2個分支到主幹

5) 從主幹到分支,手工指定不需要合併的修改

6) 從主幹到分支,手工指定要合併的修改

4.選擇之前打標記的專案分支;

5.顯示合併詳細資訊,合併完成之後,trunk下的檔案將會被更新,注意這裡只是合併到本地,還需要你再檢查一下合併後的檔案是否正確,然後commit提交到伺服器;

6.建議合併後,再對trunk下對修改過的內容進行測試,最好一個點一個點的進行測試,保證合併後的內容是穩定無誤的;

標註tags

1.tags的定義規則

2. branches測試完成後,修復完bug,通過branches生成tags;

3.給標註過的tags起一個唯一的名字;