一、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. hdu 6092 Rikka with Subset(多重背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6092 #include <cstdio> #include <iostream> ...

  2. hdu 3265 Posters(线段树+扫描线+面积并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3265 题意:给你一张挖了洞的墙纸贴在墙上,问你总面积有多少. 挖了洞后其实就是多了几个矩形墙纸,一张墙 ...

  3. Unsolved输入格式错误1022

    https://pintia.cn/problem-sets/994805342720868352/problems/994805480801550336

  4. 【LeetCode】[0001] 【两数之和】

    题目描述 思路分析 Java代码 代码链接 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个整数,并返回他们的数组下标.你可以假设每种输入只会对 ...

  5. Apache RocketMQ 消息队列部署与可视化界面安装

    一.介绍 Apache RocketMQ是一个分布式.队列模型的消息中间件,具有低延迟.高性能和高可靠.万亿级容量和灵活的可扩展性.核心组件由四部分组成:Name Servers,Brokers,Pr ...

  6. Servlet+jsp用户登录加上验证码

    最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...

  7. Redis集群增加节点和删除节点

    本文主要是承接上一篇文章Redis集群的离线安装成功以后,我们如何进行给集群增加新的主从节点(集群扩容)以及如何从集群中删除节点(集群缩容),也就是集群的伸缩,集群伸缩的原理是控制虚拟槽和数据在节点之 ...

  8. DevExpress的对话框XtraMessageBox的使用

    场景 在Winform中一般弹出对话框使用的是MessageBox,而在 DevExpress中使用的是XtraMessageBox实现对话框. 效果 实现 首先新建确认按钮的调用方法: public ...

  9. Java中关于泛型集合类存储的总结

    集合类存储在任何编程语言中都是很重要的内容,只因有这样的存储数据结构才让我们可以在内存中轻易的操作数据,那么在Java中这些存储类集合结构都有哪些?内部实现是怎么样?有什么用途呢?下面分享一些我的总结 ...

  10. [C++] 头文件中的#ifndef,#define,#endif以及#pragma用法

    想必很多人都看过“头文件中用到的 #ifndef/#define/#endif 来防止该头文件被重复引用”.但是是否能理解“被重复引用”是什么意思?头文件被重复引用了,会产生什么后果?是不是所有的头文 ...