软件开发工具(第12章: CVS的安装及使用)
一、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的安装及使用)的更多相关文章
- PSP个人软件开发工具需求分析文档
第一部分:前景与范围 1.业务需求 1.1 背景 在目前的软件项目开发过程中,进度计划总是非常不准确,经常出现延期,而且大多数都无法给出一个相对比较准确的延迟时间.即使使用用例包.用例的方式组织需求, ...
- PSP个人软件开发工具
(您的阅读是我的荣幸,如有不满之处请留言指正!) 尚未完善.....工作中 为开发人员提供一个PSP工具,简化时间记录工作:同时提供数据使用的工具,帮助开发人提高估算能力. PSP个人软件开发工具 ...
- 你不得不用的MAC软件开发工具软件,个个万里挑一
作为软件行业,尤其是程序员,Mac上都不得不安装一些必备的MAC软件开发工具软件,下面给大家分享一些必装的MAC软件开发工具软件,以备日后之需,有备无患. 其中,包含各种语言的主流 IDE.开发辅助. ...
- ThoughtWorks、Teambition、Trello、Slack、DevCloud 主流敏捷软件开发工具平台比较
在大公司做了6年程序员,2年项目经理的小王,正在创业公司迎来他焦虑的而立之年. 但是对于3个月前加入创业公司的决定,他现在有些烦躁和怀疑人生.在他过往的经验看来,公司新接的小项目,在过去的大公司里1个 ...
- 全新的跨平台app软件开发工具——Lae软件开发平台
Lae是一款运行于windows的界面开发工具,具有所见即所得.开发跨平台.UI布局自由.机制简单.维护容易等诸多优点,可以开发同时运行在windows.Linux.MacOX.iOS.Android ...
- 【转】软件开发工具介绍之 6.Web开发工具
[本文转自http://www.cnblogs.com/dusonchen/archive/2011/02/09/1739087.html ] 1.EditPlus 无论是编写xhtml页面,还是cs ...
- 软件开发工具——Make
掌握Makefile的使用方法和工作流程: 掌握make工具变量的相关知识,包括其引用.定义及分类等: 掌握Makefile常见的函数含义: 掌握Makefile与shell命令行的通信方法: 掌握M ...
- iOS平台软件开发工具(一)-新建的工程使用CocoaPods工具集成第三方框架
CocoaPods是一款集合了上千个第三方开源库的开发工具,能够大幅度的提升团队项目的开发效率,降低时间成本. 那么就看一下CocoaPods这个工具在项目中的使用体现吧. 我们马上用ASIHTTPR ...
- 软件-开发工具:Gradle
ylbtech-软件-开发工具:Gradle Gradle是一个基于Apache Ant和Apache Maven概念的项目自动化构建开源工具.它使用一种基于Groovy的特定领域语言(DSL)来声明 ...
随机推荐
- [Swoole入门到进阶] [精选公开课] Swoole服务器-Server的四层生命周期
PHP 完整生命周期 执行PHP文件 PHP扩展模块初始化(MINIT) PHP扩展请求初始化(RINIT) 执行 PHP 逻辑 PHP扩展请求结束(RSHUTDOWN) PHP脚本清理 PHP扩展模 ...
- odoo12从零开始:一、安装odoo运行环境(windows10)
前言 鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望 ...
- 逆向破解之160个CrackMe —— 030
CrackMe —— 030 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 关于重写对象equals方法的问题
1.==和equals的区别 a.基本数据类型使用 == 进行值的比较 b.引用类型使用 == 进行比较时,直接比较的是对象的存储地址,即两个引用是否指向了同一个对象. c.equals方法是基类O ...
- MM52 历史库存及历史金额查询
"表:TABLES:MSEG,LFA1,MARA,EKPO,EKKO,MARD,EKBE,EKET.********************************************* ...
- PythonI/O进阶学习笔记_6.对象引用,可变性和垃圾回收
前言: 没有前言了- -......这系列是整理的以前的笔记上传的,有些我自己都忘记我当时记笔记的关联关系了. 记住以后 笔记记了就是用来复习的!!!不看不就啥用没了吗!!! content: 1.p ...
- 01 jvm学习过程概述
声明:本博客仅仅是一个初学者的学习记录.心得总结,其中肯定有许多错误,不具有参考价值,欢迎大佬指正,谢谢!想和我交流.一起学习.一起进步的朋友可以加我微信Liu__66666666 这是简单学习一遍之 ...
- Session和Cookie的用法及区别
1. Session.Cookie是什么 1.1 概念理解 要了解session和cookie是什么,先要了解以下几个概念. 1.1.1 无状态的HTTP协议 协议:是指计算机通信网络中两台计算机之间 ...
- 简单粗暴的关键两部实现连接远程云服务器数据库SqlServer 2012
要连上远程服务器的数据库,前面的那些数据库配置就不说了,网上都一样. 下面讲讲关键的两点,也是我尝试普通的方法无效后通过下面的方法成功连上的. 1.点开云服务器的安全组,看看里面的端口是否都放行了.我 ...
- [Algorithm] Heap & Priority queue
这里只是简单的了解,具体内容详见推荐的原链接 注意堆和树的区别 堆就是优先级队列的实现形式 堆排序 排序过程 Ref: 排序算法之堆排序(Heapsort)解析 第一步(构造初始堆): {7, 5, ...