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 •项目开发靠的是一个团队的能力,很少有大中型项目是由个人完成的.对于团队开发来讲---能控制每个人的分工和权限, 可以让多个人同时编辑同 ...
随机推荐
- UIView Programming Guide学习笔记
|View |Creating and Configuring View Objects |Creating and Managing a View Hierarchy |Adjusting the ...
- 如何设置电脑的IP
先找到自己的ip,在设置ip. 图1 图2 图3 图4 图5 图6
- linux 简单的DMA例程
一个简单的使用DMA 例子 示例:下面是一个简单的使用DMA进行传输的驱动程序,它是一个假想的设备,只列出DMA相关的部分来说明驱动程序中如何使用DMA的. 函数dad_transfer是设置DMA对 ...
- 函数 swift
func add(a:Int,b:Int)->Int { return a+b }
- VC++编程之对话框贴图
基于对话框的程序写好后,为对话框贴上个图片让界面更加美观(我承认做界面,MFC显得力不从心,不如QT). 其实很简单,我们以位图为例,选好我们需要的位图资源(bmp),假若自己的图片不是位图资源,可以 ...
- 思维认知-读mindhacks杂记
1. 导语 无意中浏览知乎,搜索到了mindhacks.cn这个个人geek的网址.mindhacks博主本人是牛人程序员一枚,但他的博客主题涵盖的主要内容确是思维改变生活. 博客链接地址:http: ...
- 将项目初始化到git服务器
使用的是GitLab来管理Git服务器; 步骤: 一. 先在服务器上创建一个新的项目(GitLab右上角的New project)
- 结队开发项目—NABC模型
特点:可以避免食堂的用餐高峰,从而使使用者节约时间 need:很多学生中午下课在食堂吃饭会遭遇用餐高峰,使用这款软件,可以提前订饭,按时送达,从而避免食堂的用餐高峰期. approach:学生可以提前 ...
- git的初步了解
其实git我也不熟,请两天假回来宿友告诉我,我们有一份高大尚的作业.我问她们才知道原来是让我们以博客的形式写两份作业交上去.git还是我在网上查找到的,才对它有一些的了解. git是一个开源分布式版本 ...
- JS判断用户是否在线的方法
在以前坐项目的时候,经常碰见通过sessionLisnter来判断用户是否在线的方法,但是由于用户关闭浏览器时不会立刻是否session,因此大部分时候都考虑在页面中通过JS来监控页面是否关闭. 网络 ...