CVS命令(2)
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://fangfang0717.blog.51cto.com/236466/48727 |
CVS的命令格式是:
cvs [cvs的选项] cvs-command [command 选项] 如: cvs commit cvs -d /usr/local/cvsroot init cvs update cvs -H command (列出命令command的使用方法) 运行CVS不需要特殊的权限, 只是在多人时需要设定大家都有读写权.(见后) 注意:使用CVS管理源代码,对于代码的获得,更新,应通过CVS命令来完成. 在服务器端: 下面从一个项目开始. 一,开始项目 用CVS来管理原代码,首先要创建一个\"仓库\"(repository),\"仓库\"简单来说是 一个目录结构,它包括乐要管理的原代码和用于管理原代码的各种管理文件. 使用CVS命令init: 先设置环境变量CVSROOT,指向仓库的绝对路径,然后调用CVS的init命令 bash$ CVSROOT=/usr/local/cvsroot;export CVSROOT bash$ cvs init bash$ ls -l $CVSROOT 也可以用CVS参数-d path来覆盖$CVSROOT的值 bash$ cvs -d /usr/local/cvsroot init 许多CVS的命令允许用这种方式指定cvs的根目录. 二,添加文件,目录到仓库 我们要将需要管理的文件加入仓库,并命名 CVS命令import (此命令应只用一次, 以后用cvs add) 例如, 将当前目录下的src/*加入: bash$ cvs import -m \"init implement\" myproject myvtag mtrtag -m 指定log message myproject : 仓库名 myvtag: vendor tag myrtag: release tag 三,设置权限 源码管理员应对仓库下的文件和目录设置恰当的许可权限来控制访问. 所有的RCS文件(以,v结尾)是只读方式,仓库中的目录应当对使用者有写权,以便允许 其更改. 仓库设好后,就可以利用CVS的命令来管理.(包括对项目,对源代码) 一般的常用的命令: cvs checkout 从仓库中得到某版本的代码.在本地产生一个copy cvs update 从仓库中更新本地的代码 cvs commit 将本地修改后的代码提交仓库,并产生新版本. cvs add 添加新的文件到仓库,在cvs commit命令后生效. 一般的流程是 cvs checkout or cvs update 用你喜欢的编辑器修改本地copy cvs commit 提交修改. 详细介绍
CVS checkout 命令
从仓库提取指定的文件到当前目录,并建立同样的结构,并创建CVS目录 例 bash$ cvs checkout project bash$ cvs checkout project/src/main 为使用便利,我们可以对一个目录建一个缩写,方法是修改$CVSROOT/CVSROOT/下的 modules文件.(当然是用cvs 命令完成) cvs checkout CVSROOT/modules cd CVSROOT vi modules 我们在文件尾加上 src project/src print project/src/print cvs commit 以后我们就可以用cvs checkout print来代替 cvs checkout project/src/print cvs checkout命令缺省是得到最新版本.我们也可以得到某一个老版本 cvs checkout -r 1.1 print 将print的1.1版的代码取出. cvs checkout的详细用法见cvs -H checkout的输出. CVS commit 命令 在对文件的修改完成后,用cvs commit提交到仓库. cvs commit -m \"Update by xxxxx\" project cvs commit -m \"Update main.c\" main.c 提交完成后,当前的版本号会更新,如原来为1.1,现为1.2. 这两个版本都在 仓库的主干(maintrunk)上. -m选项可以记录有关提交的注释.如果没有指定-m选项,在环境变量CVSEDITOR 中指定的编辑器被调用(vi是缺省的),提示键入文本,修改记录注释. CVS update CVS允许多人同时对一个文件进行修改. 假设泥正在修改文件的一部分,现想合并更新自己的本地拷贝(checkout)和 另一个人所做的修改(已经放在仓库里),可用cvs update cvs update CVS tag , CVS rtag 创建分支可以使用户对一些文件进行修改而不会影响主干(当commit时). 创建分支首先为拟修改的某些文件创建一个标签(tag),标签是赋于一个文件或一组文件的符号.在源代码的生命周期里,组成一组模块的文件被赋于相同的标签. 创建标签:在工作目录里执行cvs tag 例: 为src创建标签: cvs checkout src cvs tag release-1-0 标签创建后, 就可以为其创建一个分支: cvs rtag -b -r release-1-0 release-1-0-path print -b :创建分支 -r release-1-0 :指定存在的标签 releas-1-0-patch:分支 print: 模块名 合并 使用cvs update -j 选项可以将分支上的改变与本地文件拷贝合并. cvs update -j release-1-0 print.c cvs release 对源文件作必要修改后, 可以用cvs release 删除本地工作拷贝 并通知其他开发者这个模块不再使用. cvs release -d print -d : 删除 print: 目录 冲突 由于CVS允许多人同时修改同一文件,冲突是不可避免的.例如当两人 同时修改同一文件的同一行时. 这时,如用cvs update 更新,CVS检测到冲突的存在,它会将冲突的代码 用\"<<<<<<<<<<<<<<<\", \">>>>>>>>>>>>>>>\"标识.这时需手工处理这段代码.与引起 冲突的开发者协商,并对文件修改后即可用cvs commit提交. CVS history 命令 cvs history 能够查看以自己的用户名登录在服务器上的目录。 本文出自 “Fighting” 博客,请务必保留此出处http://fangfang0717.blog.51cto.com/236466/48727 本文出自 51CTO.COM技术博客 |


fangfang0717
博客统计信息
热门文章
最新评论
友情链接
