cvs上面分支开发是这样进行的:
1.首先创建一个主干[tag名末尾是MAIN]
2.在主干上开出无数分支[tag名末尾是BRANCH],然后很多人可以基于这个分支进行开发
3.当分支到达一定的数目之后可以考虑将这些分支进行合并,回归到主干[这个时候多个BRANCH合并就需要merge,然后打上一MAIN的tag]
基于分支开发是非常常见的..主干可以保持稳定的版本,分支可以尝试更多的特性,但是分支不能够开多不然回归主干会很痛苦
1.cvs默认会有一个主干,主干上可能有很多个tag,这些tag就是主干tag
2.如果想要建立分支,那么可以cvs tag -b -r xxx_MAIN xxx_BRANCH从某个主干上打出一个BRANCH出来[如果没有指定-r,那么从最新主干分支出来]
3.签出和更新分支cvs co -r xxx_BRANCH ... / cvs up -r xxx_BRANCH ...
4.察看当前分支cvs st -v ...
5.merge时候;
a.在不同位置添加,合并结果两者都被添加
b.在不同位置删除,合并结果中两者都被删除
c.在不同位置更改,合并结果将包括两者的改动
合并后的冲突显示会反应在源文件里面然后我们需要手动修改...
6.本地合并某个副本,cvs update -j xxx_BRANCH
7.分支替换cvs update -j xxxx1 -j xxxx2将xxx2替换到xxx1上
8.在分支上新打一个tag,cvs tag xxxxx ....
9.最后回归主线
a.签出当前主干代码 cvs update -AdC
b.从分支merge到主干 cvs update -d -j HEAD -j xxxxx[HEAD一个特殊标记表示当前最新的主干tag],然后我们再这里merge
c.cvs diff -r xxxxx比较主干和分支是否一致
d.cvs ci签入
e.cvs tag xxxx_MAIN在主干上打一个tag回归到主干.
10.cvs tag -d TAGNAME 把某个tag名字删除解除tag。本地文件的stick tag类似于一个本地基线版本的tag,使用cvs st -v 看到的最后一个tag是基于这个stick tag打出来的。打上一个tag就是cvs tag TAGNAME:-)
11.cvs删除文件:a.本地rm * b.cvs rm[CVS删除] c.cvs ci[CVS提交]
12.cvs add -kb ... 用来添加二进制文件
通常cvs add是按照text格式来进行文件添加的,但是有时候添加结果并不正确尤其是对于二进制文件,使用cvs add -kb来完成.
基于CVS的分支开发
最新推荐文章于 2021-09-29 17:42:12 发布