CVS的使用
基本术语
Repository 仓库 [rɪ'pɒzətrɪ]
Module 模块 ['mɒdju:l]
Import 导入
Checkout 导出
Commit 提交修改 [kə'mɪt]
Update 同步
Revision 文件版本 [rɪ'vɪʒn]
Release 发行版本 [rɪ'li:s]
Tag 标签 [tæɡ]
Repository:是CVS服务器(可能在远程,也可能在本地)的根目录,所有的工作都将保存在这个仓库中,包括源代码和这些代码的全部历史。Repository可以想象成一个仓库,仓库里有很多"木桶",每个"木桶"就是一个让CVS管理起来的工程。对于CVS来说,这些"木桶"之间是没有什么关联的,删除一个"木桶"不会影响别的"木桶"。木桶在CVS术语中,又叫模块(Module)。
Module:即木桶里面放的是一个项目的所有文件(包括源代码,文档文件,资源文件等)。在物理上,Module是CVS服务器根目录下的第一级子目录。
Import:将本地的软件项目整个目录结构都Import到CVS的仓库中去。经过这种导入,CVS将为该项目创建一个新的"木桶"—Module。
Checkout:将仓库中的一个Module中的东西导出到本地的工作目录下,然后进行工作,修改其中的内容。
Commit:在本地的工作目录下,对工程的文件进行修改,这些修改,需要提交给CVS的仓库,这个过程,就叫Commit。可以Commit一个文件,也可以Commit整个目录。
Update:与Commit对应,是从仓库中的Module中下载同事们修改过的文件,如果这个文件在本地也有,就会更新本地的拷贝,如果本地没有,就会把新文件下载到本地。
Revision:指的是单个文件的版本,而不是整个项目的版本。基本上,单个文件每次的修改,经过Commit之后,它的Revision都要改变一次,比如从1.1到1.2到1.3等等。特别要注意,单个文件的版本(Revision)与整个工程产品的版本(Version或Release)可以没有任何关系。
Release:整个产品的版本,例如VC5.0,VC6.0等。
Tag:在一个开发的特定期,对一个文件或者多个文件给的符号名,一般是有意义的字符串,如"stable”,"release_1_0”等。比如,对某个文件的1.5版本加上标签:"memory_bug_fixed”,借助这个有意义的标签,就可以理解1.5版本解决了内存Bug,所以说Tag赋予了版本一些文字含义。
在MyEclipse中连接CVS库
每一个开发成员都需要用自己的MyEclipse去连接CVS库,值得一提的是,就算CVS服务器是本机,开发人员也需要用这种网络方式去访问CVS库。
打开MyEclipse,window-Open Perspective –Others,打开CVS Repository Expolring透视图。
在CVS Repositories 面板的空白区,右键弹出菜单,New-Repository Location…,打开窗口。
在窗口中做如下设置:
Host:连接CVS服务器的IP地址或者机器名。
Repository path:CVS具体库名。
User:连接CVS服务器的用户名。
Password:连接密码。
将CVS库中的项目导入Eclipse工作区间
在MyEclipse中,File-Import,打开导入窗口,选择"CVS”下的"Projects from CVS”。
选择创建好的CVS服务器连接。
选择要导入的项目,Finish结束。
开发中的"Update”和"Commit”
update的功能是把CVS库中的文件或者目录中最近的版本下载下来覆盖本地文件或目录。在文件或目录上右键Team-update,得到最新的文件覆盖本地文件。
commit的功能是把修改后的本地文件或者目录上传到CVS库中覆盖原来的版本。在文件或目录上右键 Team-commit,打开提交窗口,输入一些注释然后Finish。
每次修改文件之前先Update一下,保证现在的文件是最新版本,修改后Commit提交。
如果新建文件或者是新目录(或者包),也要在文件或目录上右键Team-commit。注意目录中的内容不能为空,有内容之后再进行commit。
在整个项目上右键 Team-update或者commit表示把整个项目进行下载或者上传。
如果开发人员甲update之后进行文件修改,然后commit,如果另外一个开发人员乙操作的是同一个文件,这时候可能会出现冲突,出现无法提交的情况,这是正常情况。
这时候可以先update一下,得到更新的文件,然后经过和其他开发人员的沟通再修改文件再commit。
在每次访问CVS时,都应该先进行Update操作,然后再修改本地文件,最后再做Commit操作。
查看历史版本
文件中右键Team-show history,可以查看历史版本,从而得知当前的文件是不是最新版本,需不需要update一下。并且通过历史功能可以查看以前版本的源代码,这样在误操作的时候可以找回代码。
移除CVS配置
如果项目想脱离CVS管理,例如移除所有目录及子目录中的CVS文件夹,可以在项目中右键Team-Disconnect
CVS的使用的更多相关文章
- 版本控制工具比较-CVS,SVN,GIT
首先介绍几个版本控制软件相互比较的重要依据: a.版本库模型(Repository model):描述了多个源码版本库副本间的关系,有客户端/服务器和分布式两种模式.在客户端/服务器模式下,每一用户通 ...
- 【Java EE 学习 43】【SVN版本控制工具】【CVS版本控制工具】
一.SVN SVN服务器下载地址:https://subversion.apache.org/ 1.什么是版本控制:版本控制是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程.是一种记录若 ...
- cvs update后输出的文件标志 和 update常用的几个参数
(1)update 和 checkout 在执行中,会为每个文件打印一行提示信息,文件的状态通过前面的单个字符指明: U file 文件按要求从仓库得到更新.用在那些仓库里面 ...
- BAT 快速删除CVS文件和拷贝最近修改文件的目录结构
相信大家在操作大量文件的的时候,经常会遇到一些手动很难操作的情况 比如有CVS版本控制下每个文件夹下都有一个CVS文件夹,一个个手工删除肯定很费劲,我们都是懒人,还是用工具解决吧.不用重新写程序,直接 ...
- SVN和CVS的区别
对版本控制就有了一定的理解,同时也应该知道SVN与CVS是比较流行的两款SCM工具.那么到底这两款工具有什么区别呢? 1.版本编号方面 例如,我们的版本库为A,其中有文件a,b,c. 在SVN中,新版 ...
- OpenBSD为何还在用CVS之感
一个轻松无聊的晚上突然想到一个问题——在当今这个Git大红大紫的时代,OpenBSD为何还在用CVS代码仓库?连他同阵营的FreeBSD都已经改用SVN,宣布逐渐废掉CVS了……问了下google,搜 ...
- 将 Book-Crossing Dataset 书籍推荐算法中 CVS 格式测试数据集导入到MySQL数据库
本文内容 最近看<写给程序员的数据挖掘指南>,研究推荐算法,书中的测试数据集是 Book-Crossing Dataset 提供的亚马逊用户对书籍评分的真实数据.推荐大家看本书,写得不错, ...
- 【转】cvs2svn 把CVS档案库转换为SVN档案库
转载地址:http://jackdown.blog.sohu.com/66646130.html 在linux下的操作 1).安装 下载:Python 2.0 地址:http://www.pyth ...
- 【转】Windows下搭建cvs服务器
转载地址:http://hi.baidu.com/iloverobot/item/fad1eb6d66c45e166995e66d 下载cvs server:CVSNT 网址为:http://www. ...
- cvs版本控制器
CVS 版本控制器 首先我们要来明确 :为什么要学习CVS •项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的.对于团队开发来讲---能控制每个人的分工和权限, 可以让多个人同时编辑同 ...
随机推荐
- 如何查看hadoop与hbase的版本匹配关系
官网:http://hbase.apache.org/book.html 搜索:Hadoop version support matrix 下面有一个二维的支持关系表.
- [转]Ubuntu 12.04开机自动挂载Windows分区
[转]Ubuntu 12.04开机自动挂载Windows分区 http://www.cnblogs.com/A-Song/archive/2013/02/27/2935255.html 系统版本:Ub ...
- Qt5 程序发布打包
关于qt5在win7下发布 & 打包 ----------------------------------------------------------------------------- ...
- QT 字符串相等间距字符间增加字符
/*************************************************Function: formatString()Description: 将十六进制字串每字节中间加 ...
- 调用webservice客户端方法 runtime modeler error: Wrapper class ××× is not found. Have you run APT to generate them?
用wsimport生成webservice的客户端以后,调用客户端生成方法时总是出现 runtime modeler error: Wrapper class stardand.nrcms.nckin ...
- IOC框架的认识
转:http://blog.csdn.net/wanghao72214/article/details/3969594 1 IoC理论的背景 我们都知道,在采用面向对象方法设计的软件系统中,它的底层实 ...
- hdu 5691 Sitting in Line 状压dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5691 题解: 和tsp用的状压差不多,就是固定了一些访问顺序. dp[i][j]表示前cnt个点中布 ...
- JAVA 关于Icon,Image,ImageIcon的简单的对比参考 分类: Java Game 2014-08-14 17:08 210人阅读 评论(0) 收藏
转自:http://blog.csdn.net/bcmissrain/article/details/7190886 其实就算是现在,我还是有不少地方概念模糊,但是下面的内容是是没有什么问题的.稍微介 ...
- objc swift 混编
原链接:http://blog.csdn.net/xuanwenchao/article/details/30226823 在xocde6出来我们大部分代码都是用objective-c写的(部分C/C ...
- /MT /MD /ML /MTd /MDd /MLd 的区别
Multithreaded Libraries Performance The single-threaded CRT is no longer ( in vs2005 ) available. Th ...