svn往分支提代码_[转]代码管理|svn分支管理
最近項目用上了svn分支管理,因為項目太過龐雜,版本迭代也過于頻繁,致使多個版本的代碼交雜在一起,難以維護,無法保證其中某個版本的穩定性。當然,我們也用過很土的辦法,代碼復制一份出來,但是,這個副本也需要加上新開發的功能。
所以,我們決定使用svn分支管理。當然,這有代價,svn版本管理對二進制文件不友好,可能文件分支合并時二進制文件會難以處理。(這里說的二進制文件,泛指所有非文本文件,比如說美術資源,策劃文檔)
svn分支簡述
使用分支最主要的目的是,多個分支可以并行,相互不干擾,而且任何時候都可以合并。其次,容易保證主干的穩定性。
沒有分支的時候,你的svn可能是這樣的:
就一份代碼存在主干(trunk),當然也不會有主干這個說法。開發完1.0,繼續開發2.0,版本一個一個迭代。
有了分支后,你的svn可能就是這樣的了:
主干用來存放穩定的代碼,每個版本都會開一個分支,等版本完成后再合并到主干。版本一個一個迭代,但可以并行開發。
svn分支管理
接下來,簡單講解下 如何使用svn做分支管理。
第一步,建立主干分支目錄結構
第二步,創建分支
在主干目錄 trunk 右鍵,在svn菜單選擇 Branch/tag...
步驟①是分支地址,這里直接以 /branches/1
步驟②是取trunk版本,HEAD revision表示最新版本,其他可通過 show log選擇
執行 OK 后,到 branches 目錄 svn update 就可以看到最新的分支了。
第三步,合并分支到主干
分支就是開發目錄了,現在分支提交一個文件做測試。
然后,合并這個文件分支到主干。
現在到主干目錄,右鍵svn菜單選 Merge...
這個是將分支或主干的修改合并到當前工作目錄,繼續如下。
接下來點完成,如果沒沖突的話,分支文件就合到主干了。
但這里還要一個操作,就是在主干提交分支合過來的文件。
題外話,之所以要有這一步,除了對分支內容進一步修改,還可以同時合并多個分支。選擇權交給用戶。
另外,主干內容合到分支,也是使用 Merge 命令。
svn分支應用
根據項目的不同,實際上的分支架構也會不同。以我們項目為例,我們是做游戲的,項目過于龐雜,版本迭代非常頻繁。在版本1.1還沒完成時,我們可能就要開發2.0版本,這樣,版本1.1和版本2.0就要并行開發。而且,我們對穩定性有非常高的要求。
為此,我們設計了這樣的svn架構。
測試分支
為了保證主干穩定,我們加了測試分支(如 rel_1.1的測試分支為 rel1.1_test )。測試分支1.1是在分支1.1開發結束后開的,等待測試修復bug完成后,就會把測試分支1.1合入主干及分支1.1。合并完成后,這個測試分支將會關閉。
多分支并行
因為項目需求較多,版本迭代繁雜,所以在版本1.1還沒結束時,就開了版本2.0的分支。當分支2.0需要測試合并到主干時,就會從主干合并最新的文件到2.0測試分支,測試通過后,再合并到主干。
分支合并的時機
對我們而言,不同分支的最大區別是功能上線的時間點。我們根據上線周期劃分功能,拆分到不同分支。因為開發需求多,迭代過于頻繁,所以靠后的分支對比之前的分支通常只是多了某些新功能。這樣,分支的出現,避免了未開發完成的功能影響了已開發完的功能,導致當前版本的不穩定。所以,合并分支的時機就是這個分支的功能要不要上線。
這樣,主干永遠是穩定的,也只有經過測試的內容,才會合入主干。同時,多個版本也可以并行。
標題:[轉]代碼管理|svn分支管理
作者:shirlnGame
地址:https://www.mmzsblog.cn/articles/2020/12/11/1607649269353.html
-----------------------------
如未加特殊說明,此網站文章均為原創。
網站轉載須在文章起始位置標注作者及原文連接,否則保留追究法律責任的權利。
公眾號轉載請聯系網站首頁的微信號申請白名單!
個人微信公眾號 ↓↓↓
總結
以上是生活随笔為你收集整理的svn往分支提代码_[转]代码管理|svn分支管理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle11g64位怎么用sql,O
- 下一篇: http中url的长度限制