確認(rèn)版本里程碑:多個(gè)文件各自版本號(hào)不一樣,項(xiàng)目到一定階段,可以給所有文件統(tǒng)一指定一個(gè)階段里程碑版本號(hào),方便以后按照這個(gè)階段里程碑版本號(hào)導(dǎo)出項(xiàng)目,同時(shí)也是項(xiàng)目的多個(gè)分支開發(fā)的基礎(chǔ)。
TAG創(chuàng)建
cvs tag release_1_0 project_name
%給工程打Tag
開始新的里程碑
cvs commit -r 2
%標(biāo)記所有文件開始進(jìn)入2.x的開發(fā)
注意:CVS里的revsion和軟件包的發(fā)布版本可以沒有直接的關(guān)系。但所有文件使用和發(fā)布版本一致的版本號(hào)比較有助于維護(hù)。
創(chuàng)建版本分支
在開發(fā)項(xiàng)目的2.x版本的時(shí)候發(fā)現(xiàn)1.x有問題,但2.x又不敢用,則從先前標(biāo)記的里程碑:release_1_0導(dǎo)出一個(gè)分支 release_1_0_patch
cvs rtag -b -r release_1_0 release_1_0_patch project_name
%為工程版本為release_1_0 創(chuàng)建分支
訪問版本分支
一些人先在另外一個(gè)目錄下導(dǎo)出release_1_0_patch這個(gè)分支:解決1.0中的緊急問題,
cvs checkout -r release_1_0_patch
%從檢出分支版本號(hào)為release_1_0_patch
而其他人員仍舊在項(xiàng)目的主干分支2.x上開發(fā)
在release_1_0_patch上修正錯(cuò)誤后,標(biāo)記一個(gè)1.0的錯(cuò)誤修正版本號(hào)
cvs tag release_1_0_patch_1
%更新分支版本
合并
如果2.0認(rèn)為這些錯(cuò)誤修改在2.0里也需要,也可以在2.0的開發(fā)目錄下合并release_1_0_patch_1中的修改到當(dāng)前代碼中:
cvs update -j release_1_0_patch_1 %合并一個(gè)分支 (差異合并)
cvs up –r
elease_1_0_patch_1
%將目錄切換到主干版本的目錄下,將分支版本合并到新的主干版本上。
cvs ci –m “注釋” test.java % 提交
cvs up –r
elease_1_0_patch_1 test.java %合并一個(gè)文件
刪除版本/分支
cvs tag –d tagName projectName %刪除工程中名為tagName版本
cvs rtag –d tagName projectName %刪除工程中名為tagName版本
cvs tag –d –B branchName projectName %刪除工程為branchName分支
cvs rtag –d –B branchName projectName %刪除工程為branchName分支
以前畫的一個(gè)圖: