这里有一篇有关CVS的使用简介,是我以前做项目时为

  初学者翻译的,本着“够用”的原则翻的,更有很多精

  华没有翻出来,但作为一个入门进阶是够了。

  CVS 使用简介

  ============

  CVS 是RCS的前端工具,他是用于多用户并行研发的版本控制工具,他的最大特点是使用了“copy-modify-merge”机制而不是“lock- modify-unlock”。通过使用CVS生成一个存储文档的仓库(repository),存储在仓库中的每个目录叫做模块(module),在修改时将相应的模块检出到工作目录中(working directory)生成对应的目录,任何的修改都在工作目录中完成,修改完成后再提交到仓库中生成新的版本号,并加以保存。

  1. CVS初始化

  -------------

  (1) 创建CVSROOT根目录

  编辑有关的环境变量,加入CVSROOT的定义(比如在 /etc/bashrc 文档中加入下面两行):

  CVSROOT=/usr/local/cvsroot

  export CVSROOT

  然后在相应位置开始创建CVSROOT

  $cd /usr/local/

  $mkdir cvsroot

  $cvs –d /usr/local/cvsroot init

  这时就会产生/usr/local/cvsroot/CVSROOT 目录,这下面放着有关CVS的配置文档。同时/usr/local/cvsroot/也作为文档仓库存放任何的文档。

  (2) 创建研发项目

  假如从头开始一个新的项目,就需要创建一个单独的目录,并把任何要使用的文档做一个有效的组织。而假如在开始使用源文档的目录之前就有了,则只需进入该目录就行了。

  $cd /work/tang

  $ls cvstest

  . .. c/

  $cd cvstest

  然后,就能够输入源文档目录:

  $cvs import –m “Create Source Dir” cvstest/c tang cvstest

  这样会生成 $CVSROOT/cvstest/c 目录。 其中 -m 用来指定注释信息,假如后面在命令行不指定注释信息,则会启动缺省编辑器(vi)需要输入注释信息。 tang, cvstest分别标识了厂商和发行标识。

  注意,使用import命令会把当前目录下的任何文档和目录(包括子目录)引入到文档仓库中指定模块(目录)下。

  2. 命令简介

  -------------

  (1) 检出源文档

  cvs checkout [-r rev][-D date][-d dir][-j merg1] [-j merg2] modules

  -r 检出指定版本的模块

  -D 检出指定日期的模块

  -d 检出指定目录而不是模块

  -j 合并当前版本和指定版本

  使用下面的命令会检出刚才生成的模块,并在当前目录下生成和文档仓库中完全相同的目录结构:

  $cvs checkout cvstest/c

  对于目录结构比较复杂的模块能够在 $CVSROOT/CVSROOT/modules中加以指定:

  1) $cvs checkout CVSROOT/modules

  2) 在modules文档中加入下面一行:

  SOURCE cvstest/c

  3) 然后执行:

  $cvs commit –m “Add SOURCE”

  以后就能够使用下面的命令在当前路径下生成 cvstest/c 目录

  $cvs checkout SOURCE

  在当前路径下生成的这个目录就被称为工作目录,对源文档的任何修改都应该在这个目录下完成,而绝对不允许去改变在 文档仓库中$CVSROOT 目录下的文档。

  (2) 删除、增加、重命名文档和目录

  cvs add [-k kflags][-m message] files...

  -k 指定以后该文档的缺省检出目录

  -m 对文档的描述

  上述命令会加入一个新的文档到文档仓库里,但直到使用了提交命令他才会真正更新文档仓库。

  cvs remove [options] files

  上述命令会从文档仓库中删除文档,但也要到提交之后才有作用。

  例1:增加文档

  $cvs checkout SOURCE

  $cd cvstest/c

  $touch test.c

  $cvs add test.c

  $cvs commit –m “add test.c”

  例2:删除文档

  $cvs checkout SOURCE

  $cd cvstest/c

  $rm test.c

  $cvs remove test.c

  使用 –f 选项能上面两步合做一步。

  $cvs remove –f test.c

  假如在提交之前想恢复刚才删除的文档,能够如下:

  $cvs add test.c

  假如只执行了第一步删除(rm),则能够用下面的方法恢复:

  $cvs update test.c

  对于重命名的文档,能够先删除再添加。

  对于目录的修改(重命名),可能需要修改cvs 管理文档,一般应该遵循以下步骤:

  1) 确认任何有关的修改都已提交;

  2) 进入文档仓库中要修改的模块目录,对相应的目录进行修改(重命名或删除)

  $cd $CVSROOT/modules

  $mv old_dir new_dir

  3) 假如有必要,修改管理文档,比如modules 文档

  假如要删除目录,则应该先对目录中每个文档都进行了删除(包括使用cvs remove )处理之后再执行上面的第2步。

  (3) 提交源文档

  cvs commit [-Rl][-m mesg] files

  -R 连子目录一起提交

  -l 只提交本地目录(不提交子目录)

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!