【VCS】-常见的版本控制系统(VCS)

来源:互联网 发布:最容易学的编程语言 编辑:程序博客网 时间:2024/06/06 01:42

一、什么是版本控制系统?

  版本控制是一种记录一个或者若干个文件内容的变化,以便将来查阅特定版本修订情况的系统

1、作用

  记录文件的所有历史变化

  随时可回复到任何一个历史状态

  多人协作开发或者修改,共享数据

  错误恢复

  多功能的并行开发(分支功能、特性-合并操作)

    追踪修改信息和责任人

2、分类

  本地版本控制系统(local VCS

  集中化的控制系统(Centralizes VCS

  分布式的版本控制系统(Distributed VCS

3、基本概念

  repository——存放所有文件及历史信息

  checkout ——取出或者切换到指定版本的文件

  version ——记录表示一个版本(编号或者其他代码),某个特定状态下的资源

  tag ——记录标识一个主要版本(1.0 2.0 3.0

二、三种版本控制系统介绍

1)本地版本控制系统(LVCS)——本地完整仓库(少用)

                  简介:在硬盘上保存补丁集(补丁是指文件修订前后的变化);通过应用所有的补丁,可以重新计算出各个版本的文件内容。大多数采用某种简单的数据库来记录文件的历次更新差异。

    最流行:RCSRevision Control System

     优点:简单、很多系统中都有配置

       适合管理文本文件

    缺点:不支持网络

       支持类型单一

       只适合管理少量文件、不支持基于项目的管理

     图示:

          

2)集中式版本控制系统(CVCS)——服务器完整的仓库

                  简介:有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

          每个人都可以在一定程度上看到项目中的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限,并且管理一个 CVCS 要远比在各个客户端上维护本地数据库来得轻松容易。

  最常用:CVSConcurrent Version System

  优点:适合多人团队协作开发

      代码集中话管理

  缺点:单点故障

      必须连网操作,无法单击本地工作

    图示:

       

          

3)分布式版本控制系统(DVCS)——本地和服务器都有完整的仓库

                 简介:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。 因为每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

           可以指定和若干不同的远端代码仓库进行交互。这样,你就可以在同一个项目中,分别和不同工作小组的人相互协作。

  最常用:Git、Mercurial(HG)

  优点:适合多人团队协作开发

    代码集中化管理

    可以离线工作

    每个计算机都是一个完整仓库

    图示:

        


三、版本控制系统(VCS)的前世今生

                  

                           

四、小结

      在实践中体会版本控制系统的优劣,有了新的需求才有新的创造,不设限,不将就。


0 0
原创粉丝点击