`

cvs团队开发利器CVS培训基础讲义

阅读更多
一、CVS(Concurrent Version System)简介

1、CVS机制

CVS是RCS的前端工具, 它是用于多用户并行开发的版本控制工具,它的最大特点 是使用了“copy-modify-merge”机制而不是“lock-modify-unlock”。通过使用 CVS生成一个存储文件的仓库(repository),存储在仓库中的每个目录叫做模块 (module),在修改时将相应的模块检出到工作目录中(working directory)生成对应的目录,所有的修改都在工作目录中完成,修改完成后再提交到仓库中生成新的版本号,并加以保存。

CVS把文件保存在一个名叫仓库(repository)的地方,仓库中保存的文件并不是每个版本的副本,而是可以从任意版本回溯到初始版本的一些代码的主控信息,这样,就节省了大量的存储空间风靡全球的LINUX操作系统就是在大型分布式CVS系统上开发成功的。

全球最著名的软件工程软件提供商Rational Sofdtware的ClearCase是CVS的替代产品,比CVS稍有增强

2、CVS的版本编号

分为系统编号和用户编号

系统编号是CVS自动给版本编的号码。CVS自动管理系统编号。单分支版本演化以1.0->1.1->1.2-...的方式顺序进行。

用户编号是用户为了自己控制版本号码,或者统一版本号码,而对某一版本指定的编号。

二、CVS建议开发流程

为避免其他人更新时导致无法编译的错误,建议先在开发环境中开发,编译通过后在没有大的改动情况下放入CVS中进行管理,然后发布到测试及生产环境。

以总公司网站开发为例,流程如下:

开发环境(192.168.16.33) -> CVS(192.168.16.38) -> 生产环境(192.168.16.34)

三、WinCvs的使用

1、如何设置本地工作目录:

admin -> preference -> WinCvs -> HOME folder

2、如何列出CVS服务器上的modules?

admin -> Macros admin -> Get the cvs modules

CVSROOT 模块下的文件modules控制着modules的显示,由系统管理员管理。

3、如何将CVS服务器上的modules取到本地工作目录?

选中待取module -> Create -> Checkout modules... -> 输入modules名 ->确定。

4、如何将新增的程序或文档纳入CVS管理?

将 新增的程序或文档copy到CVS本地工作目录 -> 右键 -> Add selection 或 Add selection binary(由文档类型决定) -> Commit selection (建议文件修改后,在commit时加上本次修改的简短描述,便于以后在log中查看历史记录。)

5、如何修改已存在程序或文档?

右键 -> Edit selection -> 修改完毕 -> Commit selection

6、如何放弃修改?

只要还未commit,右键 -> Unedit selection

7、如何将新创建的Module放入cvs服务器中?

1)将包含欲放入库中的目录copy于工作目录下

2)输入模块 Create -> Import module

3)在弹出的文件对话框中选择你要输入的工程目录的顶级目录,并确使文件夹图标打开

4)如果弹出筛选窗口,确保提交的文件被正确地设置了文本或二进制

5)点击OK按钮,wincvs然后将整个目录结构输入到CVS服务器中

8、如何更新刚创建的modules

1)在本地移走你的原始目录

2)将CVS服务器上的modules取到本地工作目录(参见上面第3步)

9、如何解决冲突?

当二人或更多人修改了同一文件时就会发生冲突,此时可打开有问题的文件,搜索以<<<<<<<开始的行。冲突区有这样的标价:

<<<<<<< 文件名

你的修改

========

从库中合并的代码

>>>>>>> 修订版

你要判断代码应该是什么,作必要的修改,删除cvs的标价,然后将你的修改提交到库中。

建议:在修改cvs中的文件时,先Update selection一下。

10、如何取回以前的版本?

Graph selection -> 右键 -> tag selection 。

11、如何在modules小窗口中看见CVS的本地工作目录?

View -> Browse Location -> 在弹出的窗口中选择本地工作目录 -> 确定

12、查看谁在修改文件

右键 -> Editors of selection。列出正在编辑files的用户。

13、如何查看文件的历史修改记录?

右键 -> Log Selection

14、什么情况下需要锁定登出(checkout)?

对于word文档、函数库等二进制文件,因无法由CVS合并,应当选中锁定登出。

右键 -> Lock Selection

Unreserved checkouts是CVS确省方式,允许其他用户修改被登出的文件。

CVS不会告知第一个登入者是否还有人在修改文件。

其他人要登入会得到错误信息,他们须先与仓库中的最新版本合并才能等入。

对于源代码等,应选择非锁定登出,否则将大大降低软件生产率。

如果非锁定登出造成严重的开幕冲突,那时因为开发者的沟通严重不足。

注意:

单纯的非锁定登出对许多项目而言是可行的。

锁定登出控制过于严格,不利于提高软件生产率。

介于两者之间的非锁定登出与监视机制结合,对许多小组是最佳选择。

四、CVS补遗

1、如何删除一个目录?

需要先删除目录中的所以文件,使该目录成为一个空目录,然后运行cvs update -P让CVS从仓库中清除空目录。

2、如何重命名文件?

将工作目录中的旧文件重命名为新文件。

-mv old new

通知CVS删除旧文件

-cvs remove old

通知CVS添加新文件

-cvs add new

从CVS仓库中删除旧文件、添加新文件

-cvs ci -m "name old to new" old new

3、CVS无法完成二进制文件的版本比较和版本合并,为此,应该避免版本分支。

4、CVS无法更据文件内容识别二进制文件,但能够根据文件扩展名来识别那些文件是二进制文件,这是由cvswrappers配置文件定义的。

5、设置只读用户

向某些用户授权读取CVS仓库中的文件,但不允许他们修改文件。

在$CVSROOT/CVSROOT/readers文件中列用户名,例如:

xuys

huyj

zousj

anonymous

五、开发要点总结

1、要对cvs中的文件进行修改时,先Update selection一下,然后进行编辑。

2、对于源代码的修改,应选择非锁定登出。

3、对于word文档等二进制文件,因无法由CVS合并,应当选择锁定登出。

4、文件修改后,在commit时最好加上本次修改的简短描述,便于以后在log中查看历史记录

5、小组成员之间要加强沟通。




Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=818757

分享到:
评论

相关推荐

    CVS 团队开发工具

    CVS是一种团队开发工具.工作原理是:在一台服务器上放一个工程, 开发团队将项目分为好块,分工合作,一起开发.修改过的文件每提交一次,版记录加一.版本记录从1.1开始.提交一次后变成1.2用户还可以提取指定修改版本的...

    西安野马计算机培训学校CVS讲义

    西安野马计算机培训学校的CVS讲义,旨在帮助学员掌握这一重要的版本控制工具,以便在实际项目开发中更加高效地进行团队协作。 一、CVS基础 1. 版本控制概念:CVS允许开发者跟踪代码的每一次修改,记录每个版本的...

    CVS基础培训(包括功能,配置,使用)

    【CVS基础培训】 CVS(Concurrent Versions System),即并发版本系统,是一种源代码版本控制系统,用于管理和跟踪文件及目录在开发过程中的修改历史。它允许多个开发者同时协作,并保持代码的一致性和完整性,是...

    cvs开发人员工具

    **CVS(Concurrent Versions System)**是一种广泛使用的版本控制系统,尤其在开源社区中非常流行。它是基于**RCS(Revision Control ...对于任何进行多用户协作开发的团队来说,理解和掌握CVS都是极其重要的技能。

    团队开发平台cvs安装软件

    【团队开发平台CVS安装软件】是针对JavaEE项目开发中的版本控制需求而设计的教程。CVS(Concurrent Versions System)是一种广泛使用的开源版本控制系统,它允许开发团队协同工作,跟踪代码更改,并管理不同开发者...

    CVS小型开发团队组建快速入门3099.rar

    【CVS小型开发团队组建快速入门3099.rar】是一个压缩包文件,主要包含的资源是关于如何组建和管理使用CVS(Concurrent Versions System)的小型开发团队的资料。CVS是一种版本控制系统,它允许开发人员在共享代码库...

    CVS&VSS操作基础

    总的来说,CVS和VSS都是为了提升软件开发的效率和协作质量,选择哪一款取决于团队的需求和偏好。了解并熟练掌握这些基础操作,对于任何IT从业者来说都是宝贵的技能。通过阅读《CVS&VSS操作.pdf》这份文档,你可以...

    CVS协同开发工具PPT

    这个PPT内容全面地介绍了CVS的各个方面,对于想要了解或已经在使用CVS的开发团队来说,是一个宝贵的参考资料。通过学习,开发者不仅可以掌握CVS的基本操作,还能理解其背后的协同开发理念,从而提高团队的协作效率。

    用cvs作开源开发

    ### 使用CVS进行开源开发 #### CVS简介与背景 CVS(Concurrent Versions System),即并发版本系统,是早期非常流行的一种源代码控制系统。CVS主要用于管理软件项目的多个版本,并支持多用户协作开发。该系统由...

    cvs培训教材教材cvs

    通过系统的学习和实践,开发者可以熟练掌握CVS,提升团队协作效率,保证软件开发过程的有序进行。这份“CVS培训教材”应包含了所有这些内容,旨在帮助学员从零开始,逐步精通CVS的使用,从而在实际工作中得心应手。

    CVS客户端工具TortoiseCVS

    **CVS基础概念** 1. **版本控制**:版本控制系统记录了文件和目录的历史更改,允许用户回溯到之前的任何版本,同时支持多人协作,避免了文件冲突。 2. **仓库(Repository)**:CVS中的中央存储库,保存所有文件的...

    CVS实现小组同步开发

    《CVS实现小组同步开发详解》 CVS(Concurrent Versions System),是一种广泛使用的源代码版本控制系统,它允许多个开发者协同工作,同步他们的代码修改。本文将详细介绍如何使用CVS和Eclipse集成环境来实现小组的...

    CVS服务器 项目开发管理

    1. **协同开发**: CVS使得团队成员可以独立工作,同时保持代码同步,提高开发效率。 2. **版本追踪**: 每次提交都会记录相关信息,方便回溯历史,找出错误的来源。 3. **代码审查**: 通过查看提交记录,项目经理或...

    CVS cvs-1.11.23

    CVS(Concurrent Versions System),中文常称为并发版本系统,是最早流行的一种开源版本控制系统,它的出现为软件开发团队提供了协同工作、代码管理和历史追踪的能力。本文将深入探讨CVS 1.11.23这一特定版本的特性...

    CVS团队升级SVN团队的解决方案

    ### CVS团队升级SVN团队的解决方案 #### 一、引言与背景介绍 随着软件开发技术的不断进步和发展,版本控制系统也在不断迭代更新。CVS(Concurrent Versions System)作为早期广泛使用的开源版本控制系统之一,虽然...

    CVS教学电子书如何安装CVS,CVS使用

    **CVS(Concurrent Versions System)**是一种广泛使用的版本控制系统,尤其在开源软件开发中扮演着重要角色。它能够跟踪代码的变化,管理多个开发者协作时的版本冲突,并提供了历史记录和回滚功能,使得团队协作...

    cvs最简单的使用方法

    CVS在软件开发中扮演着至关重要的角色,尤其对于团队合作而言,它极大地提高了效率和协作的便利性。 ### 安装CVS 在开始使用CVS之前,你需要在你的计算机上安装CVS客户端。对于Linux和macOS用户,通常可以通过包...

    CVS项目版本控制工具

    CVS(Concurrent Versions System)是一种广泛使用的源代码版本控制系统,它允许开发团队协同工作,同时跟踪代码的历史版本。在软件开发过程中,CVS扮演着至关重要的角色,它确保了团队成员之间的协作效率,同时也...

    Eclipse中CVS使用

    在软件开发过程中,版本控制对于团队协作至关重要,它可以帮助开发者追踪代码的修改历史,协同工作,并确保团队成员之间的代码一致性。Eclipse作为一款强大的Java集成开发环境,内置了CVS客户端,使得开发者无需额外...

    Tortoise CVS 中文语言包

    TortoiseCVS是一款在Windows环境下非常流行的CVS(Concurrent Versions System)客户端工具,它提供了...无论是个人项目还是团队协作,TortoiseCVS都是一个强大且易用的工具,通过适当的配置,可以极大地提高开发效率。

Global site tag (gtag.js) - Google Analytics