CVS和WinCVS使用指南.doc_第1页
CVS和WinCVS使用指南.doc_第2页
CVS和WinCVS使用指南.doc_第3页
CVS和WinCVS使用指南.doc_第4页
CVS和WinCVS使用指南.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

CVS和WinCVS使用指南一、什么是CVS?CVSConcurrent Versions System并行版本系统;是一个标准的版本控制系统;对代码进行集中管理;记录代码所有的更改历史;提供协作开发的功能;支持多人同时CheckOut与合并。以客户端/服务器模式工作,所有的用户都在客户端进行CVS操作,而所有命令的执行都在CVS服务器端进行。 二、CVS基本概念1. CVS仓库:又称主拷贝,是CVS系统保存软件资源的地方。所有项目的所有文件的所有版本都保存在这个仓库中。 2. 版本:开发人员每次向CVS提交所做的修改就形成了一个新版本。 3. 工作拷贝:从CVS服务器端取出的,保存在我们正在使用的客户端计算机上的代码拷贝。每个人员都有一个属于自己的工作拷贝。 4. 检出代码(创建工作拷贝check out):从服务器取出代码,就是创建工作拷贝的过程。 5. 提交代码(commit):将代码送到服务器保存,commit又叫作check in。 6. 导入代码(import):将未被CVS进行版本管理的代码引入CVS系统中,由CVS开始对它进行版本管理。 7. CVS日志:CVS用来记录每次操作的内容的信息。日志信息可以用cvs log命令来查看。 8. 更新(update):在协同开发环境下,将其他人所作的最新修改从CVS仓库中取到你的工作拷贝中,从而使得你得工作拷贝与仓库中得最新版本保持一致。使用update是同步各个工作拷贝的手段。 9. 冲突(conflict):在协同开发的环境下,当两个开发人员对同一个文件进行修改,并且依次提交CVS仓库时就发生了冲突。这种冲突需要开发人员手工消除,并提交到CVS仓库中形成解除冲突之后的新版本。 三、CVS命令:1.设置环境变量。 set CVSROOT=:pserver:xxx26:e:/cvsrootset CVSROOT=:pserver::e:/cvsroot2.签出工作版本到工作目录。 $cd$cvs co account/src/common该命令只将account/src/common目录结构签出到本地。若使用 $cvs co account则将account下所有目录结构签出来。 3.提交修改的文件到CVS版本库中: $cvs ci 注意若提交多个文件可以输入多个文件名,并以空格分开。若将该目录下所有文件都提交,那么只需 $cvs ci 即可。 4.提交新增加的目录或文件到CVS版本库中: $cvs add $cvs ci $cvs add $cvs ci 5.删除目录及文件,需先删除目录下的文件 $rm $cvs remove $cvs ci 再执行 $cd .$cvs up P则将该空目录删除(只是删除本地工作拷贝的空目录)。 6.查看文件状态 $cvs status 例如: $ cvs st ffun.c=File: ffun.c Status: Up-to-date Working revision: 1.1 Wed Nov 6 11:29:04 2002 Repository revision: 1.1 /szunicom/dev/billing/src/preproc/CDMA/ffun.c,v Sticky Tag: (none) Sticky Date: (none) Sticky Options: (none)注意:最重要的是Status栏,可以有以下几种状态: Up-to-date:表明你的工作拷贝是最新的 Locally Modified:表明你曾经修改过该文件,但还没有提交,你的版本比仓库里的新 Needing Patch:表明有人已经修改过该文件并且已经提交了!你没有修改但你的工作拷贝的版本比仓库里的旧 Needs Merge:表明你修改了该文件但没有提交,而有人也修改了这个文件,并且提交给仓库了。 Locally added:表明使用了add命令增加了该文件,但还没有commit Locally Removed:表明你使用了remove命令,但还没有commit Unkown:CVS不知道关于这个文件的情况.例如,你创建了一个新文件,而没有使用add命令 解决办法:若状态为Locally Modified,则需执行$cvs ci 若状态为Needing Patch或Needing Merge,则需执行$cvs up 将版本库里的文件与工作拷贝合并后,再提交给版本库,使用命令: $cvs ci 。若状态为:Locallyadded,则需执行$cvs ci 若状态为:Removed,则需执行$cvs ci 若状态为:Unkown,则需执行$cvs add ,$cvs ci 。 7.查看工作拷贝和仓库中最后版本之间的修改 $ cvs diff src.c8.查看指定的两个版本之间的修改 $ cvs diff -r 1.1 -r 1.2 9.版本回退(取出以前的某个版本)有两种方式:一是只把某一版本的文件输出到标准输出上: $cvs up p r “-p”选项让CVS命令的结果只输出到标准输出,而不写入到结果文件中。 另一种是将输出到标准输出的结果重定向到文件中: $cvs up p r 如:目前abc.c文件的版本号为1.5,要取出1.2的版本,那么执行 $cvs up p r 1.2 abc.c abc.c若没有使用“-p”选项进行回退,而是使用了$cvs up r 1.2 abc.c命令,之后若对1.2版本进行修改后再提交到CVS时,会出现如下提示信息: cvs cicvs commit: Examining .cvs commit: sticky tag 1.2 for file abc.c is not a branchcvs commit aborted: correct above errors first!解决办法两种方式: 1、修改CVS/Entries文件,将以下黄色标记部分删除即可。 $cd CVS$ vi E*/abc.c/1.2/Tue Dec 17 13:33:06 2002/T1.2D2、使用$cvs up A abc.c命令来消除附着标签,但是该命令是将1.2版本与最新版本进行了合并,还需对abc.c进行修改再重新提交。 10.如何恢复已经删除的文件或目录: 1. 在执行了【Remove】命令之后恢复文件。 【Ctrl+L】直接输入命令cvs add xxxxx,或执行【Add Selection】界面操作。 这样就可以直接恢复还未提交的删除文件。 2. 在执行了【Commit】命令之后恢复文件。 只能用【Ctrl+L】直接输入命令cvs add xxxxx,这时会得到一个空的文件。 选中这个空文件,执行【Update】操作,得到这个文件的实体。 再次选中这个文件,执行【Commit】操作,得到这个文件最新版本。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论