• 技术文章 >运维 >linux运维

    linux中的cvs是啥

    青灯夜游青灯夜游2022-07-01 15:50:03原创89

    在linux中,cvs全称“Concurrent Version System”,中文意思为“代码版本控制软件”,它是一种GNU软件包,主要用于在多人开发环境下源码的维护。CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计;CVS维护的文件类型可以是文本类型也可以是二进制类型。CVS基于客户端/服务器的行为使其可容纳多个用户。

    本教程操作环境:linux7.3系统、Dell G3电脑。

    linux中的cvs

    CVS(Concurrent Versions System,代码版本控制软件),是一种GNU软件包,主要用于在多人开发环境下源码的维护。与它相类似的代码版本控制软件有subversion。多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。但是由于之前CVS编码的问题,大多数软件开发公司都使用SVN替代了CVS。

    Concurrent有并发的、协作的、一致的等含义。实际上CVS可以维护任意文档的开发和使用,例如共享文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型。

    CVS用Copy-Modify-Merge(拷贝、修改、合并)变化表支持对文件的同时访问和修改。它明确地将源文件的存储和用户的工作空间独立开来,并使其并行操作。

    CVS基于客户端/服务器的行为使其可容纳多个用户。这一特性使得CVS成为位于不同地点的人同时处理数据文件(特别是程序的源代码)时的首选。

    工作思路

    在一台服务器上建立一个源代码库,库里可以存放许多不同项目的源程序。由源代码库管理员统一管理这些源程序。每个用户在使用源代码库之前,首先要把源代码库里的项目文件下载到本地,然后用户可以在本地任意修改,最后用CVS命令进行提交,由CVS源代码库统一管理修改。这样,就好像只有一个人在修改文件一样,既避免了冲突,又可以做到跟踪文件变化等。

    CVS是并发版本系统(Concurrent Versions System)的意思,主流的开放源码网络透明的版本控制系统。CVS对于从个人开发者到大型、分布团队都是有用的。

    它的客户机/服务器存取方法使得开发者可以从任何因特网的接入点存取最新的代码。它的无限制的版本管理检出(check out:注1)的模式避免了通常的因为排它检出模式而引起的人工冲突。它的客户端工具可以在绝大多数的平台上使用。

    CVS被应用于流行的开放源码工程中,像Mozilla,GIMP,XEmacs,KDE和GNOME等。那么它到底怎么样。

    你可能会说,它非常棒,但是对于"我"来说它能做什么。首先,基本的 :一个版本控制系统保持了对一系列文件所作改变的历史记录。对于一个开发者来说,那就意味着在你对一个程序所进行开发的整个期间,能够跟踪对其所作的所有改动的痕迹。对你来说,有没有出现过由于在命令行上按错键而导致一天的工作都白费的情况呢。版本控制系统给了你一个安全的网络。

    版本控制系统对任何人都有用,真的。(毕竟,谁不愿意使用一个安全的网络呢。)它们经常被软件开发团队使用。在团队中工作的开发者需要能够调整他们的各自的修改;一个集中式版本控制系统允许那样做。

    代码调整

    在传统的版本控制系统中,一个开发者检出一个文件,修改它,然后将其登记回去。检出文件的开发者拥有对这个文件修改的排它权。没有其它的开发者可以检出这个文件-- 并且只有检出那个文件的开发者可以登记(check in:注2)所做的修改。(当然对于管理员有很多方法可以超越这个限制。)

    想一下排它的检出可能会如何工作:Bob的兄弟检出 foo.java以便加入注释,写好代码后他什么也没做。然后他去吃午饭了。Bob吃完午饭后,发现他的老板所指给他的一个bug在 foo.java里。他试图签出 foo.java … 但是版本控制系统不允许他这样做,因为他的兄弟已经把它签出了。Bob不得不等着他的兄弟吃完午饭回来(在这个"好"日子用了两个小时),他才可以修正bug。

    在一个大型的开放源码工程中,因为开发者可能在任意的时区工作得很晚,给予一个开发者阻止任意地方的其它开发者继续处理任意文件的能力很明显无法运转。他们最终将因为不能够在他们想要的时候开展项目而感到厌烦。

    CVS通过它的无限制的签出模式解决了这个问题。签出一个文件并不给定开发者对那个文件的排它权。其它的开发者也可以对其检出,进行他们自己的修改,并且将其登记回去。

    "等一下"你可能会说。"但是后面的登记不是会覆盖前面的吗"回答是不会。详细地回答就是当多个开发者对同一个文件作了修改CVS会检测,并且自动合并那些改变。

    哇噢。自动的,不用担心 -- CVS 会很小心,并且将会自动合并那些只要不是对代码的同一行所作的改动。如果CVS不能安全的处理这些改动,开发者将不得不手工合并它们。从此去往何处。

    有大量在许多平台上可用的CVS附加工具,它们给CVS增加了功能或使得CVS更容易使用。

    使用好处

    相关推荐:《Linux视频教程

    以上就是linux中的cvs是啥的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    广告:Linux视频教程零基础入门到精通

    专题推荐:linux
    上一篇:linux安装git的命令是什么 下一篇:linux vim命令不见了怎么办
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• linux能获取本地ip地址吗• linux文件夹的执行权限不够怎么办• linux中mysql的1045错误怎么解决• mysql在linux中的2003错误怎么解决• linux中o文件是什么• linux怎么查询oracle错误日志• linux的make命令找不到怎么解决
    1/1

    PHP中文网