分支常用的兩個場景:發布新版本和給開發者乙個實驗的空間。
箴言:謹記,當需要建立多個分支,特別分支是為了並行多個開發而不是發布版本時,往往意味事情有些不對了。
建立分支
# svn mkdir -m "creating branches directory"
# svn copy -m "creating release branch for 1.0" /rb-1.0
簽出乙個發布分支
# svn co /rb-1.0 rb1.0
把工作拷貝轉到發布分支
# cd aladdin
# svn switch /rb-1.0
switch命令還接受--revision引數,用來指定你想要轉換哪個版本的分支。預設情況下,subversion轉向到分支的最新版本(即head版本)。
發布# svn mkdir -m "creating tags directory"
# svn copy -m "tag release 1.0.0" /rb-1.0 /rel-1.0.0
發布小版本(標籤)
在軟體開發中,有一種情況經常出現。雖然這不是什麼好現象,但我們經常不得不去面對。1.0.0版本已經發布幾個月,團隊修正了一些小bug,把版本號公升到了1.0.5。乙個重要客戶需要給1.0.0修正乙個bug,但是他又不想等1.0.6出來在修正它。
# svn co /rel-1.0.0 client-fix
# cd client-fix
修改完後發布
# svn copy -m "tagging client's 1.0.0 fix" client-fix /rel-1.0.0-clientfix
在發布分支中修正bug
1、修改正簡單的bug
# svn co /rb-1.0
# cd rb-1.0
修正bug後提交
# svn commit -m "fix bug 3065"
驗證bug已修正後,將改動合併的主幹 。
# cd ../aladdin
# svn update
# svn merge -r37:38 /rb-1.0
# svn commit -m "merge r38 (fix bug 3065)"
2、複雜的bug
# svn copy -m "create bugfix branch" /rb-1.0 /bug-10252
用標籤pre-10252標記bug修正的開始
# svn copy -m "tag fixbug start" /bug-10252 /pre-10252
在分支bug-10252中修改bug
# svn co /bug-10252
通過大家多次的修改測試bug終於修正了,協同工作時多次提交bug-10252中產生了很多版本號。因此,需要給修正bug的分支打上標籤,從而可以識別出bug修正的結束。
# svn copy -m "tag fixbug finish" /bug-10252 /post-10252
將bug修正**合併到發布分支
# svn co /rb-1.0
# cd rb-1.0
# svn update
# svn merge /pre-10252 /post-10252
測試工作拷貝中合併後**,確認沒問題後提交合併**。
# svn commit -m "merge fix for bug 10252"
SubVersion使用概要
svnadmin create e svn 建立伺服器端倉庫 先建立目錄 例 e svn,然後使用命令列命令 svnadmin create e svn,如果沒有顯示任何資訊,則說明建立成功,檢視目錄。svnserve d r e svn 啟動伺服器,進行網路監聽,才能檢查到客戶端的相關命令請求。s...
Subversion的使用週期
本章討論了版本控制系統的生命週期。版本庫相當於乙個集中的空間,用於存放開發者所有的工作成果。版本庫不僅能存放檔案,還包括了每次修改的歷史,即每個檔案的變動歷史。create 操作是用來建立乙個新的版本庫。大多數情況下這個操作只會執行一次。當你建立乙個新的版本庫的時候,你的版本控制系統會讓你提供一些資...
Subversion的安裝與使用
subversion中文文件請參考版本較舊,湊合看吧。如果想看e文就去官網咖 debian10 debian10 opt sudo apt install subversion安裝完成後,檢視安裝的版本 debian10 debian10 opt svn version svn,版本 1.10.4 ...