CVS版本控制器介绍
一、为什么要学习CVS?
1、项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的。对于团队开发来讲---能控制每个人的分工和权限,可以让多个人同时编辑同一份代码,并由程序来提醒两次修改中存在的冲突,可以查看某一处改动是谁做的---类似这样的需求就显得尤为重要,这也是学习cvs的缘由,它可以很好的解决上述问题。
2、现今的大多数应用程序是由多人组成的团队开发的。即使只涉及几个开发人员的小项目,也需要对源代码的更改进行严格控制。这就是源代码管理软件的任务。源代码版本控制软件必须支持两个核心功能:
3、提供一种方法,能够协调对团队开发者对源代码的更改,并能有效的控制这些更改 。
4、保存和管理团队所提交工作的历史记录 。
5、 当团队成员完成新的工作时,通过将这些更改提交到资源库(repository)中让其他成员来共享。同时,可以从资源库中获取最新的文件来更新本地工作空间(Workbench) 。并且可以回到任何曾经保存过的历史版本。
二、CVS概述
1、CVS是一个著名的版本控制工具
CVS的英文全称是Concurrent Version System(并行版本系统)。它主要用于记录源文件的历史。CVS是使用“客户端/服务器”(Client/Server)模式来工作的,这也是优秀版本控制系统的发展趋势。
因为CVS采用C/S体系,所以代码、文档的各种版本都存储在服务器端,开发者首先从服务器上获得相关文件到本地计算机,然后在此基础上进行开发。开发者可以随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,从而与其他开发者保存一致。
三、CVS的工作思路
在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序。这样,就好像只有一个人在修改文件一样,避免了冲突。每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用户做的任何修改首先都是在本地进行,然后用CVS命令进行提交,由CVS仓库管理员统一修改,这样就可以做到跟踪文件变化,进行冲突控制等。
1、在学习CVS的时候,需要了解一些常用术语。
Repository(仓库) :CVS仓库存储全部的版本控制下的文件拷贝,通常不允许直接访问,只能通过CVS命令,获得一份本地拷贝,改动后在提交会仓库。而仓库通常是与工作目录分离的。CVS可以通过多种方式访问仓库,每种方式有不同的目录表示形式。
2、Revision(修订版) :每一个文件的各个Revision都不相同,形如1.1, 1.2等,一般1.1是该文件的第一个Revision,后面的一个将自动增加最右边的一个整数,如1.2,1.3, 1.4 等。Revision总是偶数个数字。一般情况下Revision看作是CVS自己内部的一个编号,而Tag则可以标志用户的特定信息。
3、Tag(标签) :用符号化得表示方法标志文件特定Revision信息。通常不需要对某个孤立的文件做Tag,而是对所有的文件同时做一个Tag,以后用户可以仅向特定Tag的文件提交或者检出。
4、Branch(分支) :分支是开发团队用来共享正在进行中的工作的地方。任何时候,团队成员都可以使用一个分支的内容作为新工作的基础。每个 CVS 资源库都至少有一个分支,称为 HEAD。HEAD代表CVS里的主流分支。
5、Module(模块) :CVS服务器根目录下的第一级子目录。通常用于存放一个项目的所有文件。
6、Check out(检出) :通常指将仓库中的整个模块首次导出到本地。
7、Check in(导入) :通常指提交整个目录结构并创建一个新模块。
8、Release(发行版本) :整个产品的版本。
9、Update(更新) :从模块中下载其他人修改过的文件,更新本地的拷贝。
10、Commit(提交) :将自己修改过的文件提交到模块中。
四、CVS下载与配置
在学习使用CVS之前,需要先获取CVS的安装文件。可以在它的官方网站www.CVSNT.org免费下载CVS的最新版本。
建议选择服务器端和客户端所需的后缀名为msi的文件进行下载。
下面就简要地介绍一下这个软件的安装。
软件的安装很简单,先安装CVSNT,再安装TortoiseCVS。选择默认安装即可。本书中安装软件的路径分别为:CVSNT安装到C:\CVS,TortoiseCVS安装到C:\TortoiseCVS,这里不再赘述。安装完成后,需要重新启动计算机。
五、服务器端CVS配置
CVSNT服务器端的配置的具体步骤如下。
(1)打开CVSNT的控制面板。从开始菜单运行“CVSNT”→“CVSNT Control Panel”。弹出如图13.4所示的控制面板。
(2)服务已经启动,但现在还缺少一个仓库。在此需要新建一个文件夹充当仓库。本例中在G盘创建一个新的文件夹myCVSdata来充当仓库。
(3)为了确保CVSNT的两个服务启动正常,需配置仓库。
(4)单击OK按钮,会提示“G:/myCVSdata文件夹已存在,但不是有效的CVS仓库,是否需要初始化?”