【前言】

大家都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了,之前的linux代码是由Linus本人通过手工方式合并代码,后来为了切合Linux的开源精神,Linus花了两周时间自己用C写了一个分布式版本控制系统,这就是Git!一个月之后,LInux系统的源码已经由Git管理了! 见识到了大牛了吧!!

【正文】

【集中式】

常见的集中式版本控制系统:CVS(最早、开源、免费),SVN(开源、免费,目前用的最多),VSS(集成在Visual studio中)…

工作流程:

我们比较熟悉的SVN是集中式的版本控制系统,回想一下在使用svn时,每次干活之前,需要先从中央服务器(服务端)取出最新的版本,然后开始工作,干完活了,工作完后推送给中央服务器。此时的中央服务器就好比是一个图书馆,如果你要修改一本书,需要先从图书馆借出来,然后回到自己家修改,改完之后,需要在送回到图书馆。

分布简图:

特点:

有一个单一的集中管理的服务器,保存所有文件的修订版本,所有代码库。

对网络的依赖性强,必须联网才能工作,上传速度受网络状况、带宽影响。

客户端记录文件内容的具体差异,每次记录有哪些文件做了更新,以及更新了哪些行的什么内容。

缺点:  中央服务器的单点故障。 如果中央服务器发生宕机,所有客户端将无法提交更新、还原、对比等,也就无法协同工作。如果磁盘发生故障,信息尚无备份,还会有数据丢失的风险。

【分布式】

常见的分布式版本控制系统:git(免费、开源)、 Mercurial(轻量级)  、Monotone(免费)…

工作流程:分布式版本控制系统是没有“中央服务器”,每个人的电脑上都是一个完整的版本库,工作的时候,不再需要联网。开始工作前,在客户端克隆出完整的代码仓库,然后就可以在家、在公交车等等随心所欲地修改代码并提交了,提交到本地电脑,等到有网的时候就可以一次性地将本地仓库推送到远端仓库(临时中心服务器)中,这样一来,每个人都可以独立进行改动资料,并且所有的改动都是在完整资料信息的环境下进行的。

分布简图:

特点:

本地客户机进行操作,离线工作,快速。

安全性高,每个人电脑里都有完整的版本库,一个人的电脑换了复制其他人的一份就可以了。

原子性提交,提交不会被打断(git)。

工作模式非常灵活(传统的集中式工作流 + 特殊工作流 + 特殊工作流和集中式工作流的组合)。

缺点:  缺少权限管理、命令复杂混乱

【集中式vs分布式】

【总结】

分布式版本控制系统的出现解决了集中式需要联网操作的弊端,纵向来看,版本控制系统的变更根据使用者需求的变化而革新,横向来看,各有利弊,对应于svn和git来说,用过才会对他们的影响更加深刻,毕竟适合的才是最好的!

PS:感谢您的阅读,不足之处多多交流(邮箱:1510079209@qq.com)

【git】—集中式与分布式版本控制系统相关推荐

  1. 集中式、分布式版本控制系统的区别

    集中式版本控制系统(有 SVN.CVS等) 集中式有中央仓库(需要联着网工作) 修改的版本都在服务器仓库,每次对比代码 分布式版本控制系统(git) 分布式没有中央仓库,存在客户端一份(不用时刻连网, ...

  2. 集中式和分布式版本控制系统的区别

    集中式: 先说集中式版本控制系统.简单的说就是,版本库是集中的存放于中央服务器的.干活的时候,先要去中央服务器里领取最新的版本,然后在开始干活.干完活在将自己的版本上传到中央服务器. 就好比要改一本书 ...

  3. git 集中式vs分布式

    转自http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374027586935 ...

  4. Git集中式vs分布式笔记

    git简介 是目前世界上先进的分布式版本控制系统(没有之⼀). 不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去.Linus花了两周时 ...

  5. 版本控制系统的集中式和分布式

    大家都知道CVS及SVN都是集中式的版本控制系统:Git是分布式版本控制系统.那么集中式和分布式版本控制系统有什么区别呢? 先来说说集中式版本控制系统,版本库都是集中存放在中央服务器的.而干活的时候, ...

  6. git(2)---git 分布式版本控制系统

    集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务 ...

  7. 版本控制:集中式VS分布式了解它们的运行方式

    前面提到,Linus一直痛恨CVS及SVN这些集中式的版本控制系统,为什么呢?Git是分布式版本控制系统,那么集中式和分布式版本控制系统又有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央 ...

  8. 何为集中式版本控制系统与分布式版本控制系统?

    什么是集中式版本控制系统与分布式版本控制系统? 集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者 ...

  9. 版本控制系统-集中式与分布式的区别

    SVN和CVS都是集中式版本控制系统,而Git是分布式版本控制系统 集中式版本控制系统 版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干 ...

最新文章

  1. SSM框架——Spring+SpringMVC+Mybatis的搭建教程
  2. Docker mongo副本集环境搭建
  3. PL/SQL导入/导出dmp文件-Oracle表空间不一致
  4. ​Nature子刊 | 睡眠时型会影响人类大脑生理的认知功能
  5. 使用Spring提供Quartz来实现定时任务
  6. gentoo 安装mongodb
  7. Node.js设置CORS跨域请求中多域名白名单的方法
  8. jQuery easyUI Pagination控件自定义div分页(不用datagrid)
  9. 计算机二级基础知识微盘,计算机二级C++基础知识(整理版).pdf
  10. python中pickle模块讲解
  11. MapReduce的map流程
  12. 130242014075 杨利城 《电商系统某功能模块》的需求分析与设计
  13. 工业级交换机芯片选择的注意事项
  14. maven项目中通过idea工具打jar包
  15. STM32cubemax的下载与配置
  16. Phyllotaxis算法应用
  17. 【KSQL引擎 介绍】
  18. Invoking “make -j1“ failed
  19. 基于Vue+Java实现的在线聊天APP系统设计与实现
  20. 【LNK2019】 无法解析的外部符号 __iob

热门文章

  1. 欧姆龙自动化小型连接器端子台XW2K系列
  2. 基于NetCore的RabbitMQ使用
  3. 金融行业IT运维现状问题和发展方向
  4. latex(2):公式插入
  5. TDK 小型冗余模拟 TMR 角度传感器。
  6. ShortCut Key——Google
  7. 【密码学】Schnorr认证,Schnorr签名,安全性证明
  8. 高质量的棋牌游戏开发如何改善好用户体验?
  9. Centos内核升级-Yum方式_1
  10. 【整理】X86常用的汇编指令及寄存器