版本控制系统

来源:互联网 发布:怎么找淘宝人工客服 编辑:程序博客网 时间:2024/05/01 12:38
现在最火的版本控制软件是什么? 当然是git。git大有取代svn之势,就像svn当前取代cvs一样。git提供了由svn转化为git的功能。而且转化出来的版本库还带有之前svn的更新日志!要知道对于一个开源作品来说fork可以方便的将源码备份到自己的账号所辖版本库中,而pull request功能方便将自己的代码更改提交给原作者,待原作者审核通过后,自己就为开源项目的发展贡献了一份绵薄之力。

一、Git:   Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码分布式版本控制系统软件用以有效、高速的处理从很小到非常大的项目版本管理。提供代管软体库,并以其网路前端和工具加强功能知名。GitHub代码托管网站(采用Git分布式版本控制系统软件)已经成为开放源码开发者分享、讨论、开发程式码的最活跃场所,并且藉由Git 的功能允许开发者复制(clone) 源码库来进行开发,而无须就程式码修改的回送进行协调。
        Git是一个分布式版本控制工具,很多有名的软件都使用Git来进行版本控制,与常用的版本控制工具CVS、SVN等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便,GitHub是流行的Git存取站点,可以托管各种Git库,开源项目可以通过GitHub免费托管,GitHub深受广大程序员的喜爱。
https://github.com/ 网站
http://baike.baidu.com/view/1531489.htm 百度百科

二、SVN(subversion):

三、CVS(concurrent version system): 它是一个开放源代码的项目,是基于TCP/IP协议的版本控制工具,是当前最流行的版本控制系统,目前绝大部分Open Source项目都使用它来做版本管理。CVS是一个C/S系统,多个开发人员通过一个中心版本控制系统来记录文件版本,从而达到保证文件同步的目的。CVS版本控制系统是一种GNU软件包,主要用于在多人开发环境下的源码的维护。实际上CVS可以维护任意文档的开发和使用,例如共文件的编辑修改,而不仅仅局限于程序设计。CVS维护的文件类型可以是文本类型也可以是二进制类型
        CVS采用客户机/服务器体系,代码、文档的各种版本都存储在服务器端,开发者首先从服务器上获得一份复制到本机,然后在此基础上进行开发。开发者可随时将新代码提交给服务器,也可以通过更新操作获得最新的代码,保持与其他开发者的一致。CVS对于从个人开发者到大型、分布团队都是有用的。个人开发者希望一个版本控制系统的安全网络能够运行在他们的本地的一台机器上。然而,开发团队需要一个集中的服务器,所有的成员可以将服务器作为仓库来访问他们的代码。
    Eclipse内置CVS,它提供CVS作为基础集成的一部分。在Eclipse中访问CVS是一件相当轻松自如的事情,Eclipse按照自己的需要封装了CVS,你可以看到,和其他访问方式完全不同,Eclipse是到现在为止最强大的CVS工作平台。 CVS资源库是被作为乐观锁模型来使用的。这就意味着,当您检出一个文件时,该文件在资源库没有被锁。访问CVS的其他人也可检出同一文件,并对该文件进行修改。在您将该文件重新保存到CVS资源库中时,您要对冲突进行管理。很多资源库使用的是悲观锁模型。在悲观锁模型中,当一个文件被检出时,该文件就被锁了起来。这就阻止其他人在该文件被检入之前更新该文件。Eclipse可与任何类型的资源库进行集成,而不管它使用的是哪种模型。CVS在冲突较少的环境中能高效工作。尽管冲突会不时发生,但正如我们所知的,Eclipse和CVS会帮助我们解决这些冲突。
    CVS服务器上,一个源代码仓库被称为一个repository,一个server上通常可以运行多个repository,每个repository都是完全独立的,可以有不同的用户列表和访问规则。在一个repository之下,文件按照module组织,每一个module就相当于一个工程
       CVSNT就是服务器端的软件    

    windows环境CVS client使用入门http://se.csai.cn/casepanel/200712291504281720.htm

       http://blog.csdn.net/night_elf/article/details/2891341在Windows下配置与使用CVSNT,与各种问题解决
四、VSS(Visual Source Safe

Git与CVS的区别

  • 分支更快、更容易。
  • 支持离线工作;本地提交可以稍后提交到服务器上。
  • Git 提交都是原子的,且是整个项目范围的,而不像 CVS 中一样是对每个文件的。
  • Git 中的每个工作树都包含一个具有完整项目历史的仓库。
  • 没有哪一个 Git 仓库会天生比其他仓库更重要。


原创粉丝点击