目前企业使用的版本控制系统基本上都是 Git 和 SVN。其中 SVN 是集中式的版本控制系统,而 Git 是分布式的版本控制系统。那么它们之间有什么区别呢?

集中式版本控制系统

  集中式版本控制系统的版本库是集中存放在中央服务器的

  而平时写代码都是用自己的电脑,所以需要先从中央服务器取得最新的版本,然后开始编写代码,再把自己的修改之后的代码推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。

  缺点: 集中式版本控制系统最大的毛病就是必须联网才能工作。如果在局域网内还好,带宽够大,速度够快(企业一般都是在同一个局域网中,这也是还有不少企业使用 SVN 的原因),可如果在互联网上,遇到网速慢的话,就会比较憋屈了(这是 Linus 不愿意用集中式版本控制管理 Linux 的原因,对于这样的开源项目来讲,其开发者遍布全球,使用集中式版本控制系统可能会因为网速劝退一些人)。

分布式版本控制系统

  分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库

  使用分布式版本控制系统,我们平时工作的时候,就不需要联网了,因为版本库就在自己的电脑上。对于多人协作,比方说你在自己电脑上改了文件 A,你的同事也在他的电脑上改了文件 A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
  在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天同事的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”

  和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库,某一个人的电脑坏掉了不要紧,随便从其他人那里复制一个就可以了。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

常用的版本控制系统

免费的集中式版本控制系统

CVS

  CVS 作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用。但由于 CVS 自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况。

SVN

  同样是开源而且免费的 SVN 修正了 CVS 的一些稳定性问题,是目前用得最多的集中式版本库控制系统。

收费的集中式版本控制系统

ClearCase

  IBM 的 ClearCase(以前是Rational公司的,被IBM收购了),特点是安装比 Windows 还大,运行比蜗牛还慢,能用 ClearCase 的一般是世界500强,他们有个共同的特点是财大气粗,或者人傻钱多。

VSS

  微软自己也有一个集中式版本控制系统叫 VSS,集成在 Visual Studio 中。由于其反人类的设计,连微软自己都不好意思用了。

分布式版本控制系统

  分布式版本控制系统除了 Git 以及促使 Git 诞生的 BitKeeper 外,还有类似 Git 的 Mercurial 和 Bazaar 等。这些分布式版本控制系统各有特点,但最快、最简单也最流行的依然是 Git!

集中式版本控制 VS 分布式版本控制相关推荐

  1. 集中式版本控制与分布式版本控制——Git 学习笔记01

    什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件"另存为"一个文 ...

  2. 集中式架构vs分布式架构

    个人博客原文链接 历史 自从20世纪60年代大型主机被发明出来以后,凭借其超强的计算和I/O处理能力以及在稳定性和安全性方面的卓越表现,在很长一段时间内,大型主机引领了计算机行业以及商业计算领域的发展 ...

  3. 电源架构--集中式电源架构/分布式电源架构

    这里写目录标题 概述 隔离式电源 集中式电源架构 分布式电源架构: 个人理解 概述 · 集中式电源架构(CPA):效率高,但成本高,PCB占用面积大. · 分布式电源架构(DPA):节省成本和PCB占 ...

  4. 多服务器分布式系统架构,集中式架构与分布式架构,你了解多少?

    原标题:集中式架构与分布式架构,你了解多少? 什么是集中式 集中式架构就是将项目集中存储在中央服务器中,在工作的时候,大家只要自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给 ...

  5. 集中式版本控制与分布式版本控制

    文章目录 集中式版本控制 分布式版本控制 引用 集中式版本控制 所有的版本数据都存在服务器上,用户的本地设备就只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或 ...

  6. 集群、分布式、集中式、伪分布式的概念与区别

    1. 集中式 将项目等部署到同一台机器上,对机器性能要求比较高,一般会用多台机器备份,否则,如果机器出现死机等状况,整个项目将不能运行. eg:就好比你要盖一座房子,你房子就给一个人盖,如果这个人生病 ...

  7. 集中式开发和分布式开发的区别

    集中式VS分布式 集中式开发:是将项目集中存放在中央服务器中,在工作的时候,大家只在自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存.这种方式需要联网,现在云开 ...

  8. 集中式架构与分布式架构比较

    应用现状比较 由于历史原因,集中式架构多用于传统银行.电信等行业.主机资源集中在大型主机或小型机上.集中式架构下,包括操作系统,中间件,数据库等"基础软件" 均为闭源商用系统.集中 ...

  9. 集中式数据处理和分布式数据处理的优缺点

    建立网络的主要目的就是参与人员互相协作并共享资源,包含可许多不同计算机的网络,机器之间在物理上通过硬件连接在一起,在软件的控制下完成各种通信任务. 网络系统开发的一个重要问题,就是如何配置不同的设备来 ...

最新文章

  1. 量化交易系统综述——互联网金融之二
  2. html元素嵌套与并列,HTML的元素嵌套规则
  3. 使用 .NET Core 中的 EventCounters 衡量性能
  4. python层次聚类法画图_Python实现简单层次聚类算法以及可视化
  5. 【mongodb系统学习之四】查看mongodb进程
  6. 手机/邮箱等帐号判断
  7. [20180614]删除bootstrap$记录无法启动2.txt
  8. 一周信创舆情观察(6.15~6.21)
  9. 二级c语言考试系统安卓,二级C语言考试系统
  10. 专业的PRD撰写模板
  11. vb连接mysql的方法_VB几种连接数据库的方法
  12. xshell 上传文件
  13. iReport报表Detail设置自适应高度
  14. 微信小程序前端服务外包
  15. 老字号“张小泉”上线小程序与酷客多达成战略合作!
  16. edge linux 下载软件,微软Edge浏览器Linux开发版
  17. web防火墙和waf防火墙的区别和选择
  18. Linux下线程池(ThreadPool)
  19. 令人发指的关于方法重载和方法重写的一些理解(多态)
  20. FPGA数字信号处理(二)并行FIR滤波器Verilog设计

热门文章

  1. Android网络开发(一、Socket通信HTTP通信)
  2. 网页内容高度不够时,让footer处于页面底部的方法(不是固定在底部)
  3. NovelAI二次元绘画体验
  4. Distortion Correction
  5. 柳传志详解联想控股资本棋局:2018年后子公司将分拆上市
  6. VoLTE典型拆线原因代码及原因
  7. 犀牛建立html格式,初学犀牛建模思路养成
  8. Win11右下角图标折叠不见了怎么办?
  9. nodeJs npm和 homebrew https://www.jianshu.com/p/131dda5e51fe
  10. stem在计算机课程中的应用,浅谈小学信息技术课程中STEAM教育的应用