SVN主干與分支_第1頁
SVN主干與分支_第2頁
SVN主干與分支_第3頁
SVN主干與分支_第4頁
SVN主干與分支_第5頁
已閱讀5頁,還剩11頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、SVN-主干/分支一個大項目在開發中可能會拆分成幾個小項目,分別分去,同時共通的部分再由人做,做完后再統一合并。同時,在開發中,共通的部分修改后,其它人要保持同步。這種情況反應到SVN的分支/合并功能上,再貼切不過了。SVN可以為一個版本庫中的內容(主干)建立一個分支.分支和主干完全獨立,就相當于把代碼再復制一份,重新添加到版本庫中。但SVN提供另一個功能,就 是把主干做出的修改合并到分支中,以及把分支修改的內容合并到主干中。當然,我們也可以把主干的版本庫的路徑切換到分支上,然后更新,來實現把分支的修改 更新到主干;以及修改分支路徑來同步主干的修改。但過程復雜,還容易出錯。SVN 的分支功能還

2、提供一些合并的測試,可以在不改動版本路徑的情況下完成上面的需求。示例:1.將一個整項目建一個分支.建立時要注意:1.當前復制源,即專業術語中的 主干(truck)2.分支存放的位置. 當然,分支也是在SVN版本庫中.3.寫上日志.這個大家應該懂的.4.是否把主干的路徑切換到分支.如果勾選了,建立分支后,在主干里做出的修改并提交后,更新會提交到分支上。主干的版本源內容不會變.這時我們看一下 trunk 目錄的屬性,可以看到它的路徑已經變成: /calc/branches/my-calc-branch 了。為了避免產生困惑。以及失誤。在建立的時候不要勾上 切換到分支 的選項。如果勾上了,我們還是切

3、換回去:注意:1.主干的目錄2.版本庫源路徑這時你便可以在 /calc/branches/my-calc-branch 分支上開發新的功能,且不會影響到其他成員開發或維護主干的內容。2.合并主干的變更也許過了一段時間,原本的 /calc/trunk 主干可能已經有其他成員陸續修正了一些 Bugs,但這時你的分支 /calc/branches/my-calc-branch 就可以直接套用主干 ( /calc/trunk ) 的更新,除了避免重復的工作外 ,也可以避免版本的沖突,因為多人改同樣的文件可能發生沖突。經常將 開發主干 ( /calc/trunk ) 的變更透過 svn merge 合并

4、至 分支 ( /calc/branches/my-calc-branch ) 是一個非常好的習慣,這樣才不會讓你脫離主干(trunk) 過久而導致將分支 ( /calc/branches/my-calc-branch ) 合并回 主干 ( /calc/trunk ) 時發生許多沖突。從主干 ( /calc/trunk ) 合并至分支 ( /calc/branches/my-calc-branch ) 通常選第 1 個,也就是 Merge a range of revisions注意.我們是在分支上使用的 Merge 功能.因為是要在分支上應用主干的更新.在 Merge 的窗口有以下注意事項:1

5、.合并的來源,由于我們打算從主干 ( /calc/trunk ) 合并至分支 ( /calc/branches/my-calc-branch ),所以合并的來源要選 /calc/trunk 才對!2.合并的結果會直接與目前工作目錄(Working Copy) 做比對,并修改目前工作目錄中的所有文件。因此建議在做合并之前可以將所有尚未 commit 的檔案先 commit 到版本庫,避免不必要的沖突事件發生。在正式進行合并(Merge)之前,建議先執行 Test merge 看看是否會發生什么事!若無異狀則可直接按下 Merge 按鈕進行合并動作,這時從 主干 ( /calc/trunk ) 分

6、支出來的到目前工作目錄的版本就會做個比較,然后直接套用變更到你現有的文件、目錄或屬性里。在合并之后如果沒有發生沖突,不代表真的沒沖突,所以必須再次對原始碼做出驗證后才能 commit 進版本庫,建議可參考以下流程:1.將項目進行建置(Build)2.如果沒問題再對項目進行單元測試(Unit Testing)或手動測試(Manual Testing)3.如果都沒問題再 commit 目前合并無誤的版本到版本庫!3.合并分支到主干最后我們的 my-calc-branch 分支已經將新功能開發完成且測試無誤,所以要將 分支 ( /calc/branches/my-calc-branch ) 的最終版

7、本合并回 主干 ( /calc/trunk ),這時的手續如下:從 分支 ( /calc/branches/my-calc-branch ) 合并回 主干 ( /calc/trunk ) 通常選第 2 個,而特別選擇 Reintegrate a branch 這個選項是很重要的,因為這有以下好處:1.讓 Subversion 能知道 主干 ( /calc/trunk ) 是從哪個分支、哪些版本合并進來的2.有效節省 Subversion Repository (SVN儲存庫) 的空間,因為不用重復儲存分支的所有變更信息3.可以產生 Revision graph 得知項目開發的分支狀況一樣可以先 測試合并(Test merge) 再正式進行 合并(Merge)合并完后再將變更 commit 到版本庫4.刪除使用完畢的分支當 分支 ( /calc/branches/my-calc-branch ) 合并回

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論