《CVS使用方法》PPT课件.ppt
CVS使用说明目录1 1CVS概述 2 2CVS安装3 3一般操作4 4使用注意点5 5社内使用流程6 6Eclipse中的配置及使用一、CVS概述 CVSCVS和和VSSVSS一样都是版本控制软件。与一样都是版本控制软件。与VSSVSS不同,不同,CVSCVS是在是在UnixUnix下发展起来的。目前也有面向下发展起来的。目前也有面向WindowsWindows操作系统的版本(包括服务端和客户端)。操作系统的版本(包括服务端和客户端)。以下将介绍以下将介绍CVSCVS中的基本术语。中的基本术语。n nRepositoryRepository:仓库:仓库。n nModuleModule:模块。:模块。n nImportImport:导入。:导入。n nCheckoutCheckout:导出。:导出。n nCommitCommit:提交修改。:提交修改。n nUpdateUpdate:同步。:同步。n nRevisionRevision:文件版本。:文件版本。n nReleaseRelease:发行版本。:发行版本。n nTagTag:标签。:标签。Repository(仓库)n它是 CVS服务器(可能在远程,也可能在本地)的根目录,所有的工作都将保存在这个仓库中,包括源代码和这些代码的全部历史。可以把Repository想像成一个仓库,仓库中有许多“木桶”,每个“木桶”就是一个让CVS管理起来的工程。对于CVS来说,这些“木桶”之间是没有什么关联的,删除一个“木桶”不会影响别的“木桶”。木桶,在CVS术语中,又叫模块(Module)。Module(模块)n就是上面所讲的仓库中的“木桶”,里面放的是一个项目的所有文件(包括源代码,文档文件,资源文件等等)。在物理上,Module是CVS服务器根目录下的第一级子目录。Import(导入)n在本地如果有一个软件项目,里面有许多各种类型的文件,就需要用CVS进行版本管理,那么第一步就是把这个软件项目的整个目录结构都Import到CVS的仓库中去。经过这种导入,CVS将为该项目创建一个新的“木桶”-Module,即模块。Checkout(导出)n指将仓库中的一个“木桶”(Module,模块)中的东西导出到本地的工作目录下,然后就可以在WinCvs的管理下,进行工作,修改其中的内容。Commit(提交修改)n n在本地的工作目录下,对工程中的文件进行修改,这些修在本地的工作目录下,对工程中的文件进行修改,这些修改,需要提交给改,需要提交给CVSCVS的仓库,这个过程,就叫的仓库,这个过程,就叫CommitCommit。可。可以以CommitCommit一个文件,也可以一个文件,也可以CommitCommit整个目录。整个目录。Update(同步)n n它与它与CommitCommit相对应,是从仓库中的相对应,是从仓库中的“木桶木桶”(模块)中下(模块)中下载同事们修改过的文件,如果这个文件在本地也有,就会载同事们修改过的文件,如果这个文件在本地也有,就会更新本地的拷贝,如果本地没有,就会把新文件下载到本更新本地的拷贝,如果本地没有,就会把新文件下载到本地。地。Revision(文件版本)n n这是这是CVSCVS中一个需要特别注意的概念,它指的是单个文件的版本,而中一个需要特别注意的概念,它指的是单个文件的版本,而不是整个项目的版本。基本上,单个文件每次的修改,经过不是整个项目的版本。基本上,单个文件每次的修改,经过CommitCommit之之后,它的后,它的RevisionRevision都要改变一次,比如从都要改变一次,比如从1.11.1到到1.21.2到到1.31.3等等等等。特别。特别要注意,单个文件的版本要注意,单个文件的版本(Revision)(Revision)与整个工程产品的版本与整个工程产品的版本(Version,Version,或者或者ReleaseRelease)可以没有任何关系。例如,整个产品现在)可以没有任何关系。例如,整个产品现在发行发行1.01.0版本版本(Version 1.0)(Version 1.0)了,但是产品的源代码文件中,有的文件了,但是产品的源代码文件中,有的文件版本版本(Revision)(Revision)可能是可能是1.9,1.9,有的是有的是2.12.1,等等。这很容易理解,因为,等等。这很容易理解,因为为了发行产品为了发行产品V1.0V1.0,需要对源代码进行多次修改编译。,需要对源代码进行多次修改编译。Release(发行版本)n n整个产品的版本,例如整个产品的版本,例如VC5.0,VC6.0VC5.0,VC6.0等。等。Tag(标签)n n在一个开发的特定期,对一个文件或者多个文件给的符号在一个开发的特定期,对一个文件或者多个文件给的符号名,一般是有意义的字符串,如名,一般是有意义的字符串,如“stablestable”,“release_1_0release_1_0”等。等。比如,对某个文件的比如,对某个文件的1.51.5版本加上标签:版本加上标签:“memory_bug_fixedmemory_bug_fixed”,借助这个有,借助这个有意义的标签,就可以理解意义的标签,就可以理解1.51.5版本解决了内存版本解决了内存BugBug,所以说,所以说TagTag赋予了版本一些文字含义。赋予了版本一些文字含义。二、WINCVS安装安装安装WinCVSWinCVS客户端客户端 安装时直接执行安装程序,依照界面提示逐步执行即可。安装完安装时直接执行安装程序,依照界面提示逐步执行即可。安装完成后成后WinCVSWinCVS操作界面如下。左侧窗口为目录树,右侧为左侧子目录下操作界面如下。左侧窗口为目录树,右侧为左侧子目录下的目录及文件。下方为操作状态提示窗口。的目录及文件。下方为操作状态提示窗口。三、一般操作1、WinCvsWinCvs操作首先从首先从CVSCVS管理员那里获得用户名和密码,先使用管理员那里获得用户名和密码,先使用WinCvsWinCvs登录登录(Login)(Login)到到CVSCVS服务器。服务器。把本地需要把本地需要CVSCVS管理的原始目录导入(管理的原始目录导入(ImportImportImportImport)到)到CVSCVS服服务器上去,使之成为务器上去,使之成为CVSCVS服务器上仓库服务器上仓库(RepositoryRepositoryRepositoryRepository)的一的一个个ModuleModuleModuleModule。在本地硬盘上创建一个工作目录。在本地硬盘上创建一个工作目录。从从CVSCVS服务器的仓库(服务器的仓库(RepositoryRepositoryRepositoryRepository)导出)导出(CheckoutCheckoutCheckoutCheckout)一个一个ModuleModuleModuleModule到本地硬盘的工作目录到本地硬盘的工作目录 从从CVSCVS服务器同步服务器同步(UpdateUpdateUpdateUpdate)同事们的修改到自己本地工作同事们的修改到自己本地工作目录。目录。在工作目录上进行工作,在这个过程中,把文件在工作目录上进行工作,在这个过程中,把文件的中间版本的中间版本(RevisionRevisionRevisionRevision)提交提交(CommitCommitCommitCommit)给给CVSCVS服务器。服务器。用户登录(Login)到CVS服务器。1)“Admin”-”Login”2)在弹出窗口中输入CVSROOT登录信息。(可以直接输入配置字符串,或单击浏览按钮进入详细设定窗口)“Protocol=pserver”;/登录协议 “Repository path=/Project”;/CVS服务器中的仓库 “Username=用户名”/用户名 “Password=密码”/密码 “Hostname=10.40.100.15”;/CVS服务器地址登录成功后在状态栏会显示“*CVS exited normally with code 0*”Import(导入)Module1)单击“View”-“Browse Location”-“Change”找到本地工作目录,并选择所要添加到服务器上的目录。2)单击“Remote”-“Import Module”,并在“Import Settings”窗口中输入相应信息,然后单击“OK”完成导入工作。Import成功的状态信息CheckoutCheckoutCheckoutCheckout(导出)Module1)单击“Remote”-“Checkout Module”,并在“Checkout Settings”窗口中输入相应信息,然后单击“OK”完成导入工作。“Module name and path on the server=服务器上的Module”;“Local folder to checkout to=本地目录”UpdateUpdateUpdateUpdate、Commit1)单击“View”-“Browse Location”-“Change”定位到本地工作目录。2)右击工作目录,选择“Update selection”即可进行与服务器的同步更新。选择“Commit selection”即可提交本地最新的文档。四、使用注意点n nCVSCVS版本控制与版本控制与VSSVSS不同,它没有锁的限制,所不同,它没有锁的限制,所有人都有权力修改服务器上的文件。因此,在每有人都有权力修改服务器上的文件。因此,在每次访问次访问CVSCVS时,都应该先进行时,都应该先进行UpdateUpdate操作,然后操作,然后再修改本地文件,最后在做再修改本地文件,最后在做CommitCommit操作。操作。n n有时候因为访问冲突,会造成无法正常执行有时候因为访问冲突,会造成无法正常执行CommitCommit操作,这时可以通过操作,这时可以通过“Commit Commit settings”-“Commit options”settings”-“Commit options”,选择,选择“Force commit”Force commit”来强制提交。来强制提交。五、社内使用流程n n项目项目LeaderLeader的工作:向的工作:向CVSCVS管理人员申请管理人员申请CVSCVS项目名称,并获取项目名称,并获取CVSCVS登录信息。登录信息。申请项目名称:HelloWorld现行CVS服务器配置信息:1.Host address:10.40.X.X2.Repository Repository Path:/Path:/ProjectProject3.Username/Password:从CVS管理员处获取n n项目Leader的工作:在本地整理好需要上传的文件。本地项目文件n n项目Leader的工作:通过CVS客户端上传项目文件。选择好文件根目录后Import Module定位到本地项目文件所在位置n n项目组员的工作:通过CVS客户端获取CVS服务器上的文件。定位到本地项目工作目录输入Module名称输入本地工作目录的上层路径选择好工作目录的上层根目录后Checkout Modulen n确认本地工作目录中获取的最新文件。例如:D:ProjectExCenter*.*。获取文件后本地目录显示为“勾号”n n每次工作步骤:执行Update同步服务器上的文件。同步服务器上同步服务器上的文件的文件n n每次工作步骤:提交本地最新的文件。提交本地文件提交本地文件(本地文件修改后(本地文件修改后会显示为红色)会显示为红色)输入本次修改的描述。输入本次修改的描述。n n每次工作步骤:确认更新后的版本。更新前版本:更新前版本:1.1.1.11.1.1.1更新后版本:更新后版本:1.21.2六、Eclipse中的配置及使用n n在在EclipseEclipse中打开中打开CVS RepositoriesCVS Repositories窗口。窗口。Windows-Show View-Other-Windows-Show View-Other-n n在CVS Repositories窗口中右键新建Repository。鼠标右键鼠标右键n n配置Repository。输入登录信息输入登录信息n nCheck Out项目文件。右键并右键并Check OutCheck Out项目文件项目文件n n确认本地项目文件。EclipseEclipse环境中获取环境中获取后的项目文件后的项目文件n n同前面所述,每次工作步骤:执行Update同步服务器上的文件。同步服务器上的文件同步服务器上的文件n n提交本地文件。与服务器版本不同的与服务器版本不同的文件文件EclipseEclipse会以会以 ”符号标记出来符号标记出来输入本次提交的说输入本次提交的说明信息明信息提交后版本更新为提交后版本更新为:1.3:1.3