CVS版本控制常用操作说明
在进行版本控制的过程中, CVS是国际上最流行最成熟的版本控制系统之一,它能使我们的团队更好的在一起协同工作,使各自的程序一目了然,如果软件项目当前版本坏了,还可以通过CVS方便的恢复到一个好的版本。
CVS本来是工作在UNIX,LINUX下的,不过也出现的WINDOWS版本,包括服务器端(CVSNT)和客户端(WINCVS)。我们大多的操作是在客户端也就是WINCVS端完成。
1.准备工作
1.1术语
Update---从cvs服务器下载新版本文件。当本地文件比服务器上的还新时,update将失败。
Commit---将本地更新过的文件提交到cvs服务器。如果本地文件比服务器上的还旧,commit将失败。
Import Module---将本地模块建立到服务器上(即在服务器上新建一模块)。
Checkout Module---从服务器上取出一个模块
Revision---文件版本,是单个文件的版本而非整个项目的版本
Release---发行版本,指整个产品的版本
Tag---标签
1.2目录及设置
在使用CVS之前,要在客户端电脑上建立一个空目录,用来存放CVS服务器下载下来的文件。安装好WinCvs(我这里版本为1.3)后,设置默认文 件夹,点击"View"菜单,再点击"Browse Location",进入"Change"菜单,找到刚建立的空目录,点击确定即可。打开"Admin"菜单,点击"Preferences"子菜单。在 "General"页中,设置与cvs服务器有关的选项,
a.设置"Authentication"(认证方式),选择"pserver"。
b.设置"Path"(cvs服务器上的仓库根目录)。
c.设置"Host address"( cvs服务器名)。
d.设置"User name"(用户名),输入个人的cvs帐号。
e.设置"CVSROOT"参数,这是cvs专用的参数格式,如下所示:
username@servername:path
其中username是帐号,servername是服务器名,path是cvs服务器上的仓库根路径。
2.登录
点击"Admin"菜单,再点击"Login…"菜单,之后出现一个password对话框,输入密码,即可登入CVS服务器。登入后,wincvs将自动记住你的密码,下次使用wincvs时,可以不用人工登录。
3.建立模块
假设我们在本机的目录中有一个“技术研发”目录,此目录中有相关的文件,我们要将这个目录(该目录下必须有文件)作为一个模块(Module)建立到CVS服务器上。可以选择“技术研发”目录,点击右键,选择“Import Module”,
一般源代码等是TEXT格式的,而其它如图片,OFFICE文档等是二进制格式的。如果发现WinCvs列出的格式与实际的格式不符,可以在相应的项目上双击来修改格式。上传完成后,相应的目录就可以删除了。
4.Checkout、Commit 和Update操作
在WinCvs左边的树形目录上点击鼠标右键,进入"Checkout Module"菜单,输入你要checkout的模块的名字(注意大小写),再输入checkout下来后的存放目录,按"确定"按钮,这时,在 WinCvs的控制台输出code 0的成功信息。表明此次操作执行成功。如果文件内容有改变,应即时提交到服务器上。如果我们修改了一个文件储存后,文件的图标变成红色,这时在此文件上点击右键,再点击“Commit selection…”菜单,出现code0信息表示命令执行成功。如果命令执行失败,可能是另外有人修改了这个文件并提交到了服务器。即服务器上的版本 可能比你现有的文件还新,这时你有三种选择:
a. 将服务器上的文件和本地的文件合并后再提交先在文件上点击菜单命令"update…", 在弹出的对话框上什么都不要选,点击确定按钮,执行,合并后的文件前面有一个M标记。
b. 用本地的文件将服务器上的文件覆盖。在文件上点击菜单命令"commit…",在出来的对话框上切换到Commit options页,选择Force commit,按确定,命令执行。
c. 用服务器上的文件将本地文件覆盖。在文件上点击菜单命令"update…",在出现的对话框中选择Get the clean copy,如果是在目录下有新目录增加,可选中Create missing directories that exist in the repository,按确定,命令执行。(注:如果选择的是目录进行Update,选中了Do not reurse into sub-folders意味着不对该目录的子目录进行Update;另外如选中 Reset any sticky date/tag/’-k’ options 意味着对选择对象标注的时间、标签进行重新设定).更新过的文件为绿色,前面标有U标记。同时,WinCvs会自动在此文件的当前目录备份更新前的文件,文件名前面会加上".#",后面会加上版本号。
5.Add文件
如果在本机目录中新建了文件,必须用Add命令将它添加到cvs服务器,要将此文件加入到cvs,请先选择它(如有多个文件,可以多选),点击 "Modify"菜单中的"Add selection",如果是二进制文件,点击"Add binary"菜单,命令执行后,控制台的输出信息如下,返回代码为0表示命令执行成功。执行后文件前的图标变为红色,cvs就认为这是修改过的文件,你 还必须用前面提到的Commit方法将文件提交到cvs服务器。也可以用点击快捷栏里的图标进行相关操作。
6.Remove文件
如果要将cvs中的文件删除,不能简单的将它从本机目录中删除,而必须借助Remove命令。不然的话,当你下次Checkout module时,在本机删除的文件又从服务器下载下来了。
假设我们现在要从cvs中删除newfile.txt文件。请先选择此文件(如有多个文件,可以多选),点击"Modify"菜单,再点击"Remove"菜单命令,这时控制台的输出code0成功信息,这时此文件已被做了删除标记,文件前的图标变为红色。
如要真正的从cvs服务器上删除此文件,还必须再执行一次commit命令。
7.Remove空目录
在WinCvs中只提供了删除文件的功能,如要删除一个目录,必须先将这个目录中的文件用上面介绍的方法清空,然后再在WinCvs的树形菜单中选中你要删除的目录的上层目录,将光标移到控制台窗口中,输入以下命令:cvs update –P
完成后再执行一次update命令,即完成删除,也可以点击右键选择Update selection..操作。
8.查看比较文件版本的历史沿革和差异
我们对一个文件,进行了多次修改和提交,使版本不断的升高,我们需要查看文件的版本历史,选中文件,然后选择主菜单Query,选择“Graph”菜单项,如果比较两个版本的差异,在图中选择两个要比较的版本,比如比较1.4与1.2版本,先用鼠标选中1.4然后按下Ctrl键再选中1.2,在主菜单Graph中,选中Diff菜单项,就可以比较两个版本的差异了。如果想获得文件的任意某个版本,先选择文件,进行Update操作,在Update的对话框中点击“Update option”栏目,在“By revision/tag/branch”处打上钩,并填写想取回的版本号,点击确定就可以了。
9.统一版本
如果在整个的开发过程中达到了某个稳定阶段,我们需要一个统一的固定版本号,而此时不同的文件修改的情况不同,需要进行版本号的统一。统一某一模块的 版本号,在Checkout Module的时候,在弹出的Checkout settings对话框中选择Checkout option子栏目,然后钩上“Force revision/branch”,然后在它右边的编辑框中输入想提升的高版本号,注意这个版本号应该大于工作目录下所有文件的版本号。接着在刚选中的 Module上执行一次Update操作,我们需要在弹出的“Update settings”对话框中钩上“ Reset any sticky tag/date/tag/’-k’options”,去掉tag,以免影响今后的文件修改提交。
10.标签(Tag)
标签是cvs中对文件版本的一种文字描述,使用它是为了能够对版本进行有意义的表述,方便版本的存取。如在开发的过程中,某个文件或整个目录、 Module达到了稳定状态,此时在此版本号上加一个Tag,起名stable。在选中需要加标签的文件或目录、Module,然后在主菜单Modify 中,选择“create a tag on selection”,在New tag name 栏中填写stable,确定完成,在版本的历史图中更为清晰。还有在Update时,可以专门指定Update指定的Tag,在Update options中钩选Retrieverev./tag/branch,右拦输入指定的Tag值,如我们刚创建的stable,点击确定就可以Upadate该标签的版本内容。
11.有关Branch的使用
如果软件已经达到了一个相对稳定的状态,下一步是想试验一种新加的功能,担心加入新内容后系统变的不稳定,希望能方便的回到目前的稳定状态,如果新内 容加入后效果不错,也希望在这个基础上继续开发,此时可以用Branch来处理,把某些版本的变化与开发主线分离开。首先选定要创建分支的文件(或子目录 或整个Module),选择主菜单Modify下的create a branch,先钩选“Check that the files are unmodified before branching”,在 create branch编辑框中填写分支名称,点击确定就可以啦 。接下来就是要进入分支进行工作,进行Update 操作,在Update settings的对话框中,钩上“Create missing directories that exist in the respository”,在Update settings的对话框中,选择“Update options”中钩上“Retrieve rev./tag/branch”,并填写分支名,如“try_branch”,见下图,按“确定”按扭,工作目录下主文件消失了,branch文件出现 了,就可以按一般的文件进行修改和提交了。
如果想从分支回到开发主线,有两种情况,一是把分支的工作带到主线上来,另外就是不带入主线,选择Module块进行Update操作,在 Update settings对话框中,钩上“Create missing directories that exist in the repository”,“Reset any sticky date/tag/’-k’options”,如果不想把分支的工作带入主线直接点“确定”就可以了。如果想接受分支工作,那么就进行Merge工作了, 在Merge option栏,选择“Only this rev./tag”,并填写要Merge的分支名,点击确定即可,最后在进行一次Commit就可以完全把分支的工作合并到开发主线上了。在版本的历史图中,可以看到。
12.补充
另外还有两个常用的命令:
cvs ls :列出CVS服务器仓库中的模块名
cvs lsacl :列出目录或文件的访问管理列表
分享到:
相关推荐
CVS 使用详细手册 本手册旨在为用户提供详细的 CVS 使用指南,涵盖了基本操作、版本控制、标签、分支等方面的知识点。 简介 CVS(Concurrent Versions System)是一个多用户并行的版本控制系统,仅仅保存不同版本...
**CVS(Concurrent Versions System)使用手册教程** CVS是一种开源的版本控制系统,它能够跟踪文件和目录的更改,并...通过阅读《CVS使用手册》和实际操作,你将能够熟练地配置和管理CVS项目,提升团队的协作效率。
### CVS使用说明详解 CVS,全称Concurrent Versions System,是一种开源的版本控制系统,用于管理软件源代码的变更历史,适用于多人协作的开发环境。本文将基于给定的文件内容,详细介绍CVS的安装、配置、使用流程...
### CVS使用说明与下载教程详解 CVS(Concurrent Versions System)是一种开源版本控制系统,用于管理软件项目在开发过程中的源代码版本控制。它能够跟踪每个文件的更改历史,允许团队成员并行工作,同时避免文件...
### Linux 下 CVS 使用指南 #### 一、简介 CVS (Concurrent Versions System) 是一款开源的版本控制系统,主要用于管理软件开发过程中的源代码版本控制。它能够支持多个开发者同时在一个项目上工作,并确保每个人...
【Eclipse中CVS使用详解】 CVS,全称为Concurrent Versions System,是一种广泛使用的开源版本控制系统。在软件开发过程中,版本控制对于团队协作至关重要,它可以帮助开发者追踪代码的修改历史,协同工作,并确保...
**CVS(Concurrent Versions System)使用手册** CVS,全称并发版本系统,是一种流行的开源版本控制系统,广泛应用于软件开发领域,...在实际项目中,结合CVS使用手册,可以更好地掌握这一工具,提升团队合作的效率。
**CVS使用**: 1. **创建仓库**:在CVS服务器上,你可以创建新的代码仓库,用于存储项目文件。 2. **导入项目**:将现有项目导入到CVS仓库中,这一步通常涉及将项目文件夹的整个内容复制到CVS仓库的一个特定目录下...
【CVS使用手册】是关于版本控制系统的CVS(Concurrent Versions System)的详细指南,主要面向开发人员和系统管理员。CVS是一个集中式的版本控制系统,用于管理多人协作开发的项目,确保文件版本同步和历史追踪。...
《CVS使用教程》 CVS(Concurrent Versions System)是一种开源的版本控制系统,它能够跟踪文件和目录的变更,并且允许多人协作开发项目。在软件开发中,CVS是团队协作的重要工具,它帮助开发者管理代码的不同版本...
本压缩包文件包含了多个关于CVS使用的手册和指南,旨在帮助用户全面了解和熟练掌握CVS的使用。 首先,"CVS.pdf"可能是一份基础的CVS介绍,涵盖了CVS的基本概念、安装步骤和基本操作。这份文档通常会讲解如何创建...
以下是对CVS使用和安装的详细说明: **CVS的基本概念** 1. **版本控制**:CVS通过创建文件的不同版本来实现版本控制,每个版本都有一个唯一的标识符,可以随时切换查看。 2. **仓库**:CVS仓库是存储所有项目文件...
### CVS使用注意事项详解 #### 一、概述 CVS(Concurrent Versions System)是一种源代码版本控制系统,主要用于软件开发过程中的版本控制管理。CVS能够有效地管理多个开发者的协同工作,确保代码的一致性和完整性...
CVS使用方法
这份"CVS使用手册中英文版"包含详细的操作指南和示例,适合初学者和经验丰富的开发者。中文版有助于国内用户快速理解和应用,英文版则提供了更精确的技术细节。通过深入阅读和实践,你可以掌握CVS的所有核心功能,...
### MyEclipse插件安装之CVS使用安装 #### 一、CVS安装与配置 在开始使用CVS之前,我们需要确保已经正确安装并配置了CVS环境。具体步骤如下: 1. **安装CVS客户端**: - 首先下载并安装CVS客户端,如CVSNT等。...
【UNIX下CVS使用】是关于协同版本控制系统CVS在UNIX环境中的操作指南。CVS是一种客户端-服务器系统,用于管理多人协作开发的文件版本,确保文件同步和更新。其工作模式是通过一个中央版本库,连接多个开发者,实现...
本篇文章将详细阐述CVS使用时的一些关键注意事项和原则,帮助开发者更好地理解和应用CVS。 首先,确保版本一致性和兼容性是非常重要的。在描述中提到了CVS服务器和客户端版本的兼容问题,例如,CVS v1.11.13与...