本文共 1934 字,大约阅读时间需要 6 分钟。
标记和分支
BASE 最近一次和仓库同步过的版本 HEAD 最新版本 一、分支 1.贴标记tag(给沙箱最近一次和仓库做过同步的修订版做标记,即使沙箱中有更改) 格式:cvs [cvs-options] tag [command-options] tagname [filenames] 选项: -c 检查是否文件有更改 -r revision -r tag -D date 给已有的修订版等做标记 -f 与-r或-D使用,指定如果没有符合条件的修订版,则使用HEAD -l 本目录 -R 递归 如: cvs tag tag_test_0-1 利用BASE版本创建标记 cvs tag -r 1.3 tag_test_1-3 利用1.3版本文件创建标记 cvs tag -r tag_test_0-1 tag_test-0_2 利用现有tag创建标记 cvs tag -c tag_test_0-3 检查是否有文件被更改
2.不涉及沙箱的贴标记命令
格式:cvs [cvs-options] rtag [command-options] tagname [filenames] 选项: 除了-c(-c无用),其他参数同tag 如:cvs rtag -r 1.3 rtag_test_0-1 testcvs 3.取回贴标记的文件 cvs status -v 会显示文件所存在的标记 cvs checkout -r tag_test_0-1 testcvs 但这些文件都有标记粘滞状态,因此更改后不能提交 4.删除标记 格式:cvs tag -d tagname [filenames] 如:cvs tag -d tag_test_0-15.移动标记(将某一修订版的文件移入某一标记) 格式:cvs tag | rtag -r revision -F tagname [filenames] 如:cvs tag -r 1.3 -F tag_test_0-1 * (将1.3版本的文件移入tag_test_0-1标记)
6.为标记改名
cvs tag -r current_name new_name cvs tag -d current_name
7.贴标记策略
1)有重要功能完成时 2)项目的里程碑 3)删除某个现有功能 4)测试开始前 5)创建分支前 6)合并分支后 二、粘滞状态 1.粘滞日期(不能提交) 2.粘滞标记(不能提交) 3.粘滞修订版(不能提交) 4.粘滞分支(只能提交到相应分支) 5.粘滞关键字 cvs status -v 查看 cvs update -A 清除粘滞状态
三、分支
常见分支
1.主版本的变异版
2.bugfix版
3.试验性版
4.重要的变更
1.创建分支
在创建分支前,要替干线替标记,这样可以将变更合并回主干
cvs tag before_create_branch
cvs tag|rtag -b branch_name 选项就是tag和rtag的选项
如:
cvs tag -r tagname -b branch_name 基于tag建立分支
cvs rtag -r tagname -b branch_name project 基于tag建立分支(不涉及沙箱)
2.将沙箱变成分支沙箱
cvs update -r branch_name
cvs checkout -r branch_name project
3.合并分支(前提是你在创建分支前打了标记,并且定期对分支作标记)
1)把主干合并到分支
在分支的沙箱中执行
cvs update -j last_merge_tag -j HEAD (从最后合并last_merge_tag标记到现在的变更)
2)把分支合并到主干
在主干的沙箱中执行
cvs update -j last_merge_tag -j branch_name (从最后合并last_merge_tag标记到现在的变更)
3)将一分支的变更合并到另一分支
在目标分支的沙箱中执行
cvs update -j last_merge_branch -j branch_name
4.分支删除和移动(-d,-F,-B选项)
删除分支
cvs tag|rtag -d -B branch_name
移动分支
cvs tag|rtag -r 1.8 -F -B branch_name files 将1.8版的某些文件移动到branch中
5.分支创建基础
1)以稳定为基础
干线中是最接近发布的程序代码,分支用来开发,分支是最新的代码
2)以不稳定为基础
干线中是最新的代码,干线用来开发,分支用来发布
转载地址:http://nofmd.baihongyu.com/