集中式版本控制 VS 分布式版本控制
目前企业使用的版本控制系统基本上都是 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 分布式版本控制相关推荐
- 集中式版本控制与分布式版本控制——Git 学习笔记01
什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件"另存为"一个文 ...
- 集中式架构vs分布式架构
个人博客原文链接 历史 自从20世纪60年代大型主机被发明出来以后,凭借其超强的计算和I/O处理能力以及在稳定性和安全性方面的卓越表现,在很长一段时间内,大型主机引领了计算机行业以及商业计算领域的发展 ...
- 电源架构--集中式电源架构/分布式电源架构
这里写目录标题 概述 隔离式电源 集中式电源架构 分布式电源架构: 个人理解 概述 · 集中式电源架构(CPA):效率高,但成本高,PCB占用面积大. · 分布式电源架构(DPA):节省成本和PCB占 ...
- 多服务器分布式系统架构,集中式架构与分布式架构,你了解多少?
原标题:集中式架构与分布式架构,你了解多少? 什么是集中式 集中式架构就是将项目集中存储在中央服务器中,在工作的时候,大家只要自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给 ...
- 集中式版本控制与分布式版本控制
文章目录 集中式版本控制 分布式版本控制 引用 集中式版本控制 所有的版本数据都存在服务器上,用户的本地设备就只有自己以前所同步的版本,如果不连网的话,用户就看不到历史版本,也无法切换版本验证问题,或 ...
- 集群、分布式、集中式、伪分布式的概念与区别
1. 集中式 将项目等部署到同一台机器上,对机器性能要求比较高,一般会用多台机器备份,否则,如果机器出现死机等状况,整个项目将不能运行. eg:就好比你要盖一座房子,你房子就给一个人盖,如果这个人生病 ...
- 集中式开发和分布式开发的区别
集中式VS分布式 集中式开发:是将项目集中存放在中央服务器中,在工作的时候,大家只在自己电脑上操作,从同一个地方下载最新版本,然后开始工作,做完的工作再提交给中央服务器保存.这种方式需要联网,现在云开 ...
- 集中式架构与分布式架构比较
应用现状比较 由于历史原因,集中式架构多用于传统银行.电信等行业.主机资源集中在大型主机或小型机上.集中式架构下,包括操作系统,中间件,数据库等"基础软件" 均为闭源商用系统.集中 ...
- 集中式数据处理和分布式数据处理的优缺点
建立网络的主要目的就是参与人员互相协作并共享资源,包含可许多不同计算机的网络,机器之间在物理上通过硬件连接在一起,在软件的控制下完成各种通信任务. 网络系统开发的一个重要问题,就是如何配置不同的设备来 ...
最新文章
- 量化交易系统综述——互联网金融之二
- html元素嵌套与并列,HTML的元素嵌套规则
- 使用 .NET Core 中的 EventCounters 衡量性能
- python层次聚类法画图_Python实现简单层次聚类算法以及可视化
- 【mongodb系统学习之四】查看mongodb进程
- 手机/邮箱等帐号判断
- [20180614]删除bootstrap$记录无法启动2.txt
- 一周信创舆情观察(6.15~6.21)
- 二级c语言考试系统安卓,二级C语言考试系统
- 专业的PRD撰写模板
- vb连接mysql的方法_VB几种连接数据库的方法
- xshell 上传文件
- iReport报表Detail设置自适应高度
- 微信小程序前端服务外包
- 老字号“张小泉”上线小程序与酷客多达成战略合作!
- edge linux 下载软件,微软Edge浏览器Linux开发版
- web防火墙和waf防火墙的区别和选择
- Linux下线程池(ThreadPool)
- 令人发指的关于方法重载和方法重写的一些理解(多态)
- FPGA数字信号处理(二)并行FIR滤波器Verilog设计
热门文章
- Android网络开发(一、Socket通信HTTP通信)
- 网页内容高度不够时,让footer处于页面底部的方法(不是固定在底部)
- NovelAI二次元绘画体验
- Distortion Correction
- 柳传志详解联想控股资本棋局:2018年后子公司将分拆上市
- VoLTE典型拆线原因代码及原因
- 犀牛建立html格式,初学犀牛建模思路养成
- Win11右下角图标折叠不见了怎么办?
- nodeJs npm和 homebrew https://www.jianshu.com/p/131dda5e51fe
- stem在计算机课程中的应用,浅谈小学信息技术课程中STEAM教育的应用