当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 使用CVS进行项目开发管理

Unix/Linux
Linux crontab定时执行任务 命令格式与详细例子
linux 查看用户及用户组的方法
让Linux系统有效防御ARP攻击的实用技巧
Linux 常用软件列表
linux wget 一个强大的下载命令
linux 常用脚本、命令
linux 磁盘配额 简单介绍
Linux服务器架设笔记 Squid服务器配置
ubuntu intel 集成显卡安装
ubuntu 9.04 X3100 显卡开启3D特效
Ubuntu 8.10 Server Ruby 的安装方法
Ubuntu root帐户密码修改
ubuntu下apt-get 命令参数
Ubuntu Linux下实现QQ的三种方式
Ubuntu 8.04中建立PHP+MySQL环境
Ubuntu常用软件大全
Ubuntu系统下安装Aircrack-ng
Ubuntu实现FTP功能
ubuntu 字体美化实现方法
ubuntu下netbeans汉字显示残缺问题

Unix/Linux 中的 使用CVS进行项目开发管理


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 52 ::
收藏到网摘: n/a

/DownloadFiles\a\2003-09-07\(br>  在多人共同开发一个大型项目时,源代码的维护和版本维护是一件令人头疼的事情,由于多人开发,每个开发人员都拥有此项目的副本,所以如果要手动维护同一个文件多人的修改是十分困难的事情。 /DownloadFiles\a\2003-09-07\(br>  另外,可能你需要的项目的版本不是当前开发的最新的版本, 如果为了这个目的而为每一个版本保留一个备份几乎是不可能的。Linux平台上提供了一个功能软件:CVS。众所周知,Linux的发展得益于互联网的发展,大部分的软件都是众多开发者在互联网上共同开发的,这些软件的维护大部分都使用CVS,例如Deban Linux的开发、KDE的开发,以及sourceforg上的开发项目。正确熟练使用CVS是一个Linux程序员基本的素质。 /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  CVS不仅可以维护源代码,事实上,所有的文本文件都可以使用CVS来管理,当然也可以管理 二进制文件,只是需要特殊的命令选项罢了。 /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  CVS把文件保存在一个名叫仓库(repository)的地方,仓库中保存的文件并不是每个版本的副本,而是可以从任意版本回溯到初始版本的一些代码的主控信息,这样,就节省了大量的存储空间。 /DownloadFiles\a\2003-09-07\(br>  仓库不仅可以建立在本机上,也可以建立在网络上。另外CVS支持版本分支(tag),这样可以从任意的版本中衍生出另外一个版本进行开发,必要时,还可以把这个分支合并到主开发分支去。 /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  CVS需要一个名叫RCS(修订控制系统)的软件,确切说,CVS主要管理开发项目中的目录的改动,而RCS则侧重于管理的一个文件的改变。如果要使用网络的CVS,还需要rsh或者自己内置的cvs-server,rsh是CVS客户于服务器的通信平台,如果需要安全的信息传输,可以使用ssh,这个可以使用CVS_RSH环境变量来指定: /DownloadFiles\a\2003-09-07\(br>  export CVS_RSH=rsh 使用rsh /DownloadFiles\a\2003-09-07\(br>  export CVS_RSH=ssh 使用ssh /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  RCS使用 /DownloadFiles\a\2003-09-07\(br>  在使用CVS之前,先介绍一下RCS的使用方法。 /DownloadFiles\a\2003-09-07\(br>  正如前面所说,RCS是针对某一个特定的文件进行管理,常用到的命令是co和ci。RCS使用当 前工作路径下的RCS目录来存储管理的文件。 /DownloadFiles\a\2003-09-07\(br>  ci (check in)把源代码加入到RCS源代码仓库中,每一个添加进代码库中的文件的版本是 1.1。/DownloadFiles\a\2003-09-07\(br>  以后每次修改文件重新ci以后,此文件的版本递增为1.2 ,1.3.……。 /DownloadFiles\a\2003-09-07\(br>  co(check out)把源文件从RCS源代码仓库中取出,缺省的版本是最新的版本,如果你需要一个指定的版本,则需要使用-r选项指定。例如: /DownloadFiles\a\2003-09-07\(br>  $mkdir RCS 建立RCS源代码仓库 /DownloadFiles\a\2003-09-07\(br>  编辑一个文件,如hello.c /DownloadFiles\a\2003-09-07\(br>  #include /DownloadFiles\a\2003-09-07\(br>  int main (void) /DownloadFiles\a\2003-09-07\(br>  { /DownloadFiles\a\2003-09-07\(br>  printf ("Hello World\n"); /DownloadFiles\a\2003-09-07\(br>  return 0; /DownloadFiles\a\2003-09-07\(br>  } /DownloadFiles\a\2003-09-07\(br>  然后把它加入到RCS仓库中: /DownloadFiles\a\2003-09-07\(br>  [kerberos@power zhyf]$ ci hello.c /DownloadFiles\a\2003-09-07\(br>  RCS/hello.c,v <-- hello.c /DownloadFiles\a\2003-09-07\(br>  enter description, terminated with single '.' or end of file: /DownloadFiles\a\2003-09-07\(br>  NOTE: This is NOT the log message! /DownloadFiles\a\2003-09-07\(br>  >>the inital verion. 输入关于文件改动的信息 /DownloadFiles\a\2003-09-07\(br>  >> . 以.结束信息输入 /DownloadFiles\a\2003-09-07\(br>  initial revision: 1.1 初始版本是1.1 /DownloadFiles\a\2003-09-07\(br>  done /DownloadFiles\a\2003-09-07\(br>  [kerberos@power zhyf]$ /DownloadFiles\a\2003-09-07\(br>  当文件加入到源代码仓库后,RCS会自动删除文件。 /DownloadFiles\a\2003-09-07\(br>  /DownloadFiles\a\2003-09-07\(br>  如果需要修改文件,则从仓库取出: /DownloadFiles\a\2003-09-07\(br>  [kerberos@power zhyf]$ co hello.c /DownloadFiles\a\2003-09-07\(br>  RCS/hello.c,v --> hello.c /DownloadFiles\a\2003-09-07\(br>  revision 1.1 /DownloadFiles\a\2003-09-07\(br>  done /DownloadFiles\a\2003-09-07\(br>  此时,取出的文件是只读的,如果需要编辑文件,需要对文件加锁取出,防止与他人编辑冲