一、CVS介绍

并发版本系统(Concurrent Versions System——CVS)是一个常用 的代码版本控制系统。

使用CVS可以对代码进行集中管理,记录代码所有的更改历史,提供 协作开发的功能并支持多人同时修改代码文件。

利用版本控制软件的好处(记忆)

  • 随时将程序恢复到以前某一时间点。
  • 实现程序的互斥性修改。能够实现某一程序在同一时间只能由一个开发人员修改。
  • 对程序修改进行有效的管理。可以将用户分为管理员和程序员两种角色,只有管 理员可以将程序冻结(Freeze)和解冻(Unfreeze),被冻结的程序是不允许 修改的。
  • 将开发环境与测试环境、运行环境进行有效的隔离。
  • 评估软件开发人员编写的程序质量,控制软件开发的进度。
  • 管理文档。使用者可以在版本控制中建立专门的文件夹,用于存放软件开发过程 中生成的各种文档。

二、常用版本控制软件

有哪些常用的版本控制软件(重点、记忆)

  • Rational ClearCase(两控两管): ClearCase涵盖的范围包括版本控制、建立管理、工作空间管理和过程 控制;ClearCase支持现有的绝大多数操作系统。ClearCase安装、配置、使 用相对较复杂,需要进行团队培训。
  • Visual SourceSafe(VSS):是一种很好的入门级的配置管理工具。易 学易用,采用标准的Windows操作界面。VSS提供共享、分支和合并功能,支持团队开发。 VSS只能在 Windows平台上运行,不能运行在其他操作系统上。VSS安全性不高。VSS的用户可以在文件夹上设置不可读、可读、可读 /写、可完全控制四级权限。VSS不收费,对用户的数目没有限制。
  • CVS:是开放源代码软件世界的一个伟大杰作,简单易用、功能强大、 跨平台、支持并发版本控制,而且免费;其最大的遗憾就是缺少相应的技术支持,许多问题的解决需要使用者 寻找资料,甚至是读源代码。

三、CVS的安装与配置

CVS Control Panel 的设置(重点、记忆)

  • 1)About页面提供了CVS产品的版本、来源以及服务状态等信息。
  • 2)CVS资源库的设置。我们通过IDE对代码进行编辑,最终都要提交 到这个文件夹中。
  • 3)Control Panel中的其余页。对于一般开发,使用默认设置即可。

CVS访问权限的设置(了解)

1、管理员账户:一般来说,给机器安装CVS的Windows系统管理员,也拥有CVS管理 员的权限。【更改和删除】

2、一般用户账户:一般用户账户不应该拥有管理员账户那么多的权限。

将软件载入CVS资源库(了解)

1)打开Eclipse的CVS Perspective, 创建一个新的CVS资源库连接。 鼠标右击CVS Perspective视图区域, 弹出快捷菜单,在New子菜单中选择 Repository Location…选项,在弹出 的窗口中进行相关设置。

2)回到Java视图,将项目载入CVS库中。 鼠标右击项目,在弹出的菜单中选择Team → Share Project。 在弹出的对话框中,可以进行一些信息的选择,包括CVS连接、提交时 的说明文字等。

提出(Check Out)

  • 首先,我们要从CVS资源库中复制一个软件镜像到本机的workspace 中,在复制过来的这一时刻,代码和CVS上的代码是一致的。
  • 然后,可以在这份代码的基础上进行修改,CVS能分辨出两者之间的 区别,当提交代码时,需要进行一些融合的工作。这项操作称为 Check Out。

代码同步(Synchronize): 如果想要将本地代码与资源库代码保持一致,就需要选择 Team → Synchronize with Repository。

1)更新本地文件(Update) 对于Incoming的文件,CVS资源库上的文件完全包含了本地文件的代 码,并拥有新的代码。用鼠标右键单击该文件,选择Update,这样就 将本地文件更新成与CVS一致的状态了

2)提交本地文件(Commit) 对于Outgoing的文件,本地文件包含了CVS上该文件的所有代码,并 且有新的代码添加,选择Commit命令,这样CVS上的文件就更新成本 地最新提交的版本了。

3)避免冲突(Mark as Merged) 如果存在冲突的文件,系统会对其进行更高安全性能的保护。 需要开发人员确认冲突已经排除之后,用鼠标右键单击该文件,选择 Mark as Merged命令,该命令标明文件已经过开发人员的验证,冲突 已经被避免。之后才可用Commit 命令进行提交

软件开发工具(第12章: CVS的安装及使用)的更多相关文章

  1. PSP个人软件开发工具需求分析文档

    第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...

  2. PSP个人软件开发工具

    (您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力.   PSP个人软件开发工具 ...

  3. 你不得不用的MAC软件开发工具软件,个个万里挑一

    作为软件行业,尤其是程序员,Mac上都不得不安装一些必备的MAC软件开发工具软件,下面给大家分享一些必装的MAC软件开发工具软件,以备日后之需,有备无患. 其中,包含各种语言的主流 IDE.开发辅助. ...

  4. ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较

    在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...

  5. 全新的跨平台app软件开发工具——Lae软件开发平台

    Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...

  6. 【转】软件开发工具介绍之 6.Web开发工具

    [本文转自http://www.cnblogs.com/dusonchen/archive/2011/02/09/1739087.html ] 1.EditPlus 无论是编写xhtml页面,还是cs ...

  7. 软件开发工具——Make

    掌握Makefile的使用方法和工作流程: 掌握make工具变量的相关知识,包括其引用.定义及分类等: 掌握Makefile常见的函数含义: 掌握Makefile与shell命令行的通信方法: 掌握M ...

  8. iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架

    CocoaPods是一款集合了上千个第三方开源库的开发工具,能够大幅度的提升团队项目的开发效率,降低时间成本. 那么就看一下CocoaPods这个工具在项目中的使用体现吧. 我们马上用ASIHTTPR ...

  9. 软件-开发工具:Gradle

    ylbtech-软件-开发工具:Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明 ...

随机推荐

  1. PAT L3-017. 森森快递

    L3-017. 森森快递 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 俞勇(上海交通大学) 森森开了一家快递公司,叫森森快递.因为 ...

  2. JavaScript里处理数字的一些常用方法

    1.toString() 把字符串转换为数值. let num = 123; console.log(typeof(num)); //number console.log(typeof(num.toS ...

  3. .net core Cookie的使用

    缘起: 公司领导让我做一个测试的demo,功能大概是这样的:用户通过微信扫一扫登陆网站,如果用户登录过则直接进入主界面,否则就保留在登录界面. 实现方法: 首先先把网站地址生成个二维码,在扫描二维码后 ...

  4. rabbitmqctl: Error unable to connect to node 'rabbit@xxxxx' nodedown

    RabbitMQ使用rabbitmqctl add_user的时候报以下错误: Creating user "xxxx" ... Error: unable to connect ...

  5. TestNG(八) 类分组测试

    package com.course.testng.groups; import org.testng.annotations.Test; @Test(groups = "stu" ...

  6. Linux MySQL-5.7 root初始密码修改

    操作系统为centos7 64 1.修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2. ...

  7. 5分钟学linux命令之split

    情景介绍 平时工作中,我习惯使用rz从本地上传文件到服务器,sz从服务器下载文件到本地,但对传输文件大小有限制,例如排查线上jvm的问题,需要生成了dump文件,可能有10G大,超过了限制,怎么下载呢 ...

  8. 【linux】【jenkins】自动化运维六 构建生成备份

    push tag用于提交代码构建成功后push tag,以防提交代码报错,方便回滚之前正常的代码. 由于采用docker部署的形式,构建失败自动回滚还未实现,待研究解决. 构建后操作选择 Git Pu ...

  9. pathlib模块

    一.pathlib库官方定义 pathlib 是Python内置库,Python 文档给它的定义是 Object-oriented filesystem paths(面向对象的文件系统路径).path ...

  10. 第六届蓝桥杯java b组第一题

    第一题 三角形面积 图中的所有小方格面积都是1. 那么,图中的三角形面积应该是多少呢? 请填写三角形的面积.不要填写任何多余内容或说明性文字. 填空答案 28 没什么好说的 第一题很水 估计就是为了增 ...