zoukankan      html  css  js  c++  java
  • (一)版本控制管理器之发展史

      相信对于每一个开发从事者或一个团队、一家公司都对版本控制管理器都不陌生,接下来我会持续写关于版本控制管理器的相关文章,包括发展史、从古典时期的CVS的介绍到现代火热的Git等版本控制管理器,以及其各自的特点和区别。 本篇文章我会为大家先介绍版本控制管理器的发展史,直接上图:

      

      这张图上分成了四个时期:

     (1)史前时期:1982年的RCS,现在你可能还能在Unix的发布包中找到它。

     (2)古典时期:1990年的CVS(经典的SCM管理器,可惜不能track目录和文件名的改变,今天这个东西已经过时了),1985年的PVCS,1992年的clearcase(价格贵,功能复杂,当然,今天也有很多公司在用),微软的VSS(Welcome to Hell),90年代中期的Perforce(P4,这个工具今天都还在被广泛地使用,尤其是那些中等大小却有着大量开发团队的公司,现在是Google内部最大的代码管理器)。

     (3)中世纪时期:SVN(Linus很不喜欢SVN,2006年引入了Git),AccuRev(强力支持branch和merge,其扮演了一个很重要角色帮助社区脱离clearcase和CVS),

     (4)文艺复兴时期:BitKeeper——Sun的内部管理工具,Linux的内核代码2002年也用这个工具,其实,很多开源工程都在用这个工具,2005年这个工具的东家BitMover对大家对BitKeeper逆向工程很不满,于是停止支持开源,于是出现了Git。

         Git 基于 DAG 结构 (Directed Acyclic Graph),其运行起来相当的快。在Git发布后的来年,世界上所有的大型的开源项目全部从Subversion迁移到了Git上,这可能是这具星球上最强大最牛最酷的SCM系统了。Git可能并不是最简单的,但它一定会是未来十年的主流。

         Mercurial (Hg) 第一次出现在2005年4月,也是因为BitKeeper不免费了。Hg可以和Git在一起使用,但是Hg和Git在设计上不一样,他们对提交/变更的概念是一样的,只不过Git用tree来实现,而Hg则是用扁平的文件和目录来实现(revlog)。

         Darcs (Darcs Advanced Revision Control System)是另一个让你摆脱Subversion和CVS的工具,它的优势是性能,以及他与众不同的历史版本管理——管理patches而不是snapshot(提交/修改),当然,这样一来,历史改变看上去很不好懂。

         Bazaar (bzr) 是另一个开源的 DVCS,它试图给SCM的世界里带来一些新的东西。其由Canonical开发(Ubuntu的那个公司),在2008年成为GNU。

       Plastic在2006年出现,强力地支持branch和merge,其还提供了强大的图示,包括3D的版本树,Plastic主要是为了让中等开发团队使用,介于大型的团队(ClearCase)和小型的团队(Subversion)之间。

         Team Foundation Server (TFS),微软的新一代SCM工具,主要是为了VSS的失败负责,但是他还不是版本管理上还是很强,只不过,他集成了一大堆各种各样的工具,比如:issue tracking,test management等。

      原本链接如下:

      https://blog.csdn.net/weixin_36841920/article/details/79492015

      以上是版本控制管理器的发展史,若存在不足,请留言赐教。

      A young ilder ~ an old beggar !

      

  • 相关阅读:
    fianl关键字和static关键字
    jdk的安装
    this关键字和super关键字
    Java 数组
    网络通信知识复习
    Linux 下执行本目录的可执行文件(命令)为什么需要在文件名前加“./”
    CentOS 7 下安装 teamviewer 13
    我的 Putty 配色方案
    在 Mac OS X 下,如何向 sudoers 文件添加新用户
    Windows 7 下使用 pandoc 转换文档格式
  • 原文地址:https://www.cnblogs.com/alannever/p/14007721.html
Copyright © 2011-2022 走看看