確認(rèn)版本里程碑:多個文件各自版本號不一樣,項目到一定階段,可以給所有文件統(tǒng)一指定一個階段里程碑版本號,方便以后按照這個階段里程碑版本號導(dǎo)出項目,同時也是項目的多個分支開發(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ù)。
創(chuàng)建版本分支
在開發(fā)項目的2.x版本的時候發(fā)現(xiàn)1.x有問題,但2.x又不敢用,則從先前標(biāo)記的里程碑:release_1_0導(dǎo)出一個分支 release_1_0_patch
cvs rtag -b -r release_1_0 release_1_0_patch project_name
%為工程版本為release_1_0 創(chuàng)建分支
訪問版本分支
一些人先在另外一個目錄下導(dǎo)出release_1_0_patch這個分支:解決1.0中的緊急問題,
cvs checkout -r release_1_0_patch
%從檢出分支版本號為release_1_0_patch
而其他人員仍舊在項目的主干分支2.x上開發(fā)
在release_1_0_patch上修正錯誤后,標(biāo)記一個1.0的錯誤修正版本號
cvs tag release_1_0_patch_1
%更新分支版本
合并
如果2.0認(rèn)為這些錯誤修改在2.0里也需要,也可以在2.0的開發(fā)目錄下合并release_1_0_patch_1中的修改到當(dāng)前代碼中:
cvs update -j release_1_0_patch_1 %合并一個分支 (差異合并)
cvs up –r
elease_1_0_patch_1
%將目錄切換到主干版本的目錄下,將分支版本合并到新的主干版本上。
cvs ci –m “注釋” test.java % 提交
cvs up –r
elease_1_0_patch_1 test.java %合并一個文件
刪除版本/分支
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分支
以前畫的一個圖: