cvs版本控制器

时间:2022-12-08 16:47:41

CVS 版本控制器

 
首先我们要来明确 :为什么要学习CVS
•项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的。对于团队开发来讲---能控制每个人的分工和权限,
可以让多个人同时编辑同一份代码,并由程序来提醒两次修改中存在的冲突,可以查看某一处改动是谁做的---类似这样的
需求就显得尤为重要。这也是学习CVS的缘由,它可以很好的解决上述问题。
 
知识要点
–CVS概述
–CVS下载与配置
–CVS使用示例
 
现今的大多数应用程序是由多人组成的团队开发的。即使只涉及几个开发人员的小项目,也需要对源代码的更改进行严格控制。这就
是源代码管理软件的任务。源代码版本控制软件必须支持两个核心功能:
•提供一种方法,能够协调对团队开发者对源代码的更改,并能有效的控制这些更改 。
•保存和管理团队所提交工作的历史记录 。
     当团队成员完成新的工作时,通过将这些更改提交到资源库(repository)中让其他成员来共享。同时,可以从资源库中获取最新的文件来
更新本地工作空间(Workbench) 。并且可以回到任何曾经保存过的历史版本。
 
 
CVS概述
 
•CVS是一个著名的版本控制工具
•CVS的英文全称是Concurrent Version System(并行版本系统)。它主要用于记录源文件的历史。CVS是使用“客户端/服务器”(Client/Server)模式来
工作的,这也是优秀版本控制系统的发展趋势。
 
•因为CVS采用C/S体系,所以代码、文档的各种版本都存储在服务器端,开发者首先从服务器上获得相关文件到本地计算机,然后在此基础上进行开
发。开发者可以随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,从而与其他开发者保存一致。
 
CVS的工作思路
在一台服务器上建立一个仓库,仓库里可以存放许多不同项目的源程序。由仓库管理员统一管理这些源程序。这样,就
好像只有一个人在修改文件一样,避免了冲突。每个用户在使用仓库之前,首先要把仓库里的项目文件下载到本地。用
户做的任何修改首先都是在本地进行,然后用CVS命令进行提交,由CVS仓库管理员统一修改,这样就可以做到跟踪文
件变化,进行冲突控制等。
•在学习CVS的时候,需要了解一些常用术语。
 
–Repository(仓库) :CVS仓库存储全部的版本控制下的文件拷贝,通常不允许直接访问,只能通过CVS命令,获得一份本地拷贝,
改动后在提交会仓库。而仓库通常是与工作目录分离的。CVS可以通过多种方式访问仓库,每种方式有不同的目录表示形式。
 
 
 
–Revision(修订版) :每一个文件的各个Revision都不相同,形如1.1, 1.2等,一般1.1是该文件的第一个Revision,后面的一个将自
动增加最右边的一个整数,如1.2,1.3, 1.4 等。Revision总是偶数个数字。一般情况下Revision看作是CVS自己内部的一个编号,而
Tag则可以标志用户的特定信息。
 
–Tag(标签) :用符号化得表示方法标志文件特定Revision信息。通常不需要对某个孤立的文件做Tag,而是对所有的文件同时做一
个Tag,以后用户可以仅向特定Tag的文件提交或者检出。
 
 
–Branch(分支) :分支是开发团队用来共享正在进行中的工作的地方。任何时候,团队成员都可以使用一个分支的内容作为新工作的基础。每个 CVS
资源库都至少有一个分支,称为 HEAD。HEAD代表CVS里的主流分支。 
 
–Module(模块) :CVS服务器根目录下的第一级子目录。通常用于存放一个项目的所有文件。
–Check out(检出) :通常指将仓库中的整个模块首次导出到本地。
–Check in(导入) :通常指提交整个目录结构并创建一个新模块。
–Release(发行版本) :整个产品的版本。
–Update(更新) :从模块中下载其他人修改过的文件,更新本地的拷贝。
–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仓库,是否需要初始化?”
如图13.6所示。
 
cvs版本控制器
cvs版本控制器
 
 
 
 
–(5)单击“是”按钮,就初始化文件夹作为仓库文件夹了,初始化后,在文件夹里面会生成一个CVSROOT的文件夹,里面有很多的文件和子文件夹,
这里面都是仓库的配置信息。此时仓库配置选项卡如图13.7所示。
–(6)单击Server Settings(服务器配置)选项卡,如图13.8所示,保持默认配置即可。单击“确定”按钮,即完成了服务器配置。
 
cvs版本控制器 
cvs版本控制器
 
 
–(7)单击Compatibility Options(兼容性配置)选项卡,如图13.9所示。单击“确定”按钮,即完成了兼容性配置。
–(8)单击Plugins(插件)选项卡,如图13.10所示,显示了一些插件配置。
–(9)单击Advanced(高级)选项卡,如图13.11所示,保持默认即可。单击“确定”按钮,完成服务器的配置。
 
cvs版本控制器
cvs版本控制器
cvs版本控制器
 
 
CVS使用实例
 
•MyEclipse通过内置的CVS支持来与CVS服务器连接。本小节将结合MyEclipse来学习CVS的使用,具体步骤如下。
–(1)用MyEclipse创建一个项目EclipseCVS,并添加一个测试类。
–(2)将项目添加到CVS仓库,操作如图13.21所示。
–(3)执行Team→Share Project命令,弹出设置窗口,
 
如图13.22所示。
cvs版本控制器cvs版本控制器
 
 
–(4)单击Next按钮,出现设置共享模块名的界面,一般都用项目名作为模块名称,所以选择第一选项即可,如图13.23所示。
–(5)单击Next按钮,出现共享项目目录的文档结构说明界面,选择Launch the Commit wizard选项,
 
如图13.24所示。

cvs版本控制器

cvs版本控制器
 
 
–(6)单击Finish按钮,MyEclipse将连接到CVS资源库/mycvsdata上,如图13.25所示。
–(7)MyEclipse中的文件列表名后都会标注版本号,此时MyEclipse资源管理器窗口
 
如图13.26所示。
                                cvs版本控制器
cvs版本控制器
 
 
–(8)修改CVSTest.java文件,执行Team→Commit菜单命令,如图13.27所示。
–(9)查看文件,读者可以发现版本号已经发生变化,
 
如图13.28所示。
cvs版本控制器
 
cvs版本控制器
 
 
–(10)在MyEclipse里选择项目名,单击鼠标右键,从弹出的快捷菜单中选择Import命令,将项目从CVS仓库里导入到本地,如图13.29所示。
–(11)在弹出的Import对话框中选择CVS选项中的Project from CVS,如图13.30所示。
–(12)选择要导入的资源。这里选中“Use existing repository localtion”,然后选择要导入的资源路径,
 
如图13.31所示。
cvs版本控制器
 
cvs版本控制器cvs版本控制器
 
 
–(13)单击Next按钮,在进入的界面中选择要导入的模块,如图13.32所示。
–(14)单击Next按钮,在出现的界面中设置导出的项目名,并选择“Checkout subfolders”选项,如图13.33所示。
–(15)单击Finish按钮,完成导入。
 
 
cvs版本控制器
cvs版本控制器

cvs版本控制器的更多相关文章

  1. 细说GIT分布式版本控制器

    一.Git介绍 Git是目前世界上最先进的分布式版本控制器.Svn CVS 版本控制器:就是用来追溯自己书写的代码的记录信息.好处:可以非常方便的记录何时何地何人操作了哪些代码. 什么是分布式版本控制 ...

  2. 你了解SVN, CVS等版本控制器吗?

    版本控制器SVN, CVS是两种版本控制器, 需要配套相关的SVN, CVS服务器, SCM是xcode里面配置版本控制的地方, 版本控制的原理就是A和B同时开发一个项目, A写完当天的代码之后把代码 ...

  3. 介绍Git版本控制器的使用

    Git 简介 Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一). 1.那什么是版本控制器呢? 举个简单的例子,比如我们用Word写文章,那你 ...

  4. 版本控制器:SVN

    版本控制器:SVN 开发中的实际问题 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流--需求之一:备份! 这个项目中需要一个很复杂的功 ...

  5. 新手向--git版本控制器

    body { width: 70%; border: 1px solid #ddd; outline: 1300px solid #fff; margin: 16px auto } body .mar ...

  6. Git版本控制器使用总结性梳理

    Git为何物?Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一).1)那什么是版本控制器?举个简单的例子,比如我们用Word写文章,那你一定有 ...

  7. 版本控制器 git

    摘要:版本控制器是码农必备的工具,很多常用的,像svn,git,cvs等,工作中用过svn,Tortoisehg,firefly,其实大同小异,现在简单介绍下git,以及它的一些常用命令. 在wind ...

  8. 版本控制器:SVN(精讲)

    版本控制器:SVN 1 开发中的实际问题 1.1 小明负责的模块就要完成了,就在即将Release之前的一瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流——需求之一:备份! 1.2 这个项目 ...

  9. 多测师_肖sir_git _004(版本控制器)

    gitgit 是一个开源的分布式版本控制系统,用于敏捷高效的处理任何大小的项目.git是linux torvalds 为了帮助管理linux内核开发的一个开放源码的版本控制软件.git与常用的版本控制 ...

随机推荐

  1. 数的n次方 s.match(reg) marquee滚动效果

    一.数的n次方 <script> alert(math.pow(a,5)); /*输出a的5次方*/ </script> 二. s.match(reg); s代表一个字符串,r ...

  2. C&num;XML创建与节点对象引用

    我们在创建xml过程中会遇到不同的级别有相同节点的情况.如下面的xml: <?xml version="1.0" encoding="GBK"> & ...

  3. crontab command not found

    在服务器上运行 crontab -e编辑定时任务 结果提示 command not found命令找不到,这就说明没安装crontab 由于 完整操作如下: [root@iZ11pvsxisqZ /] ...

  4. php利用SoapClient调用webservices

    原文:php利用SoapClient调用webservices 1.开启soap支持,在php.ini中去除extension=php_soap.dll之前的':' 2.掉用页面 <?php h ...

  5. HDU5875

    Function Time Limit: 7000/3500 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  6. 存储过程和函数 PROCEDURE &amp&semi; FUNCTION

    SQL语句执行的时候,要首先编译,然后在被执行.在大型数据库系统中,为了提高效率,将为了完成特定功能的SQL语句集进行编译优化后,存储在数据库服务器中,用户通过指定存储过程的名字来调用执行. 具体而言 ...

  7. SPOJ11414 COT3 博弈论 &plus; Trie树合并

    考虑对于每个子树从下往上依次考虑 对于叶子节点而言,如果可以染色,那么其\(sg\)值为\(1\),否则为\(0\) 考虑往上合并 如果选择了\(x\),那么后继状态就是其所有子树 如果选了其他子树中 ...

  8. 20145329 《网络对抗技术》Web安全基础实践

    实践的目标 理解常用网络攻击技术的基本原理.Webgoat实践下相关实验:SQL注入攻击.XSS攻击.CSRF攻击. 实验后回答问题 (1)SQL注入攻击原理,如何防御 攻击原理 SQL注入即是指we ...

  9. zabbix第一篇:zabbix安装及使用

    常用软件安装及使用目录 一:搭建zabbix命令集 cat /etc/redhat-release uname -r getenforce systemctl status firewalld.ser ...

  10. PHP获取接下来一周的日期

    //获取接下来一周的日期 function GetWeeks() { $i=0; $weeks=[]; for ($i;$i<=7;$i++){ $month=date('m',time()+8 ...