【git】—集中式与分布式版本控制系统
【前言】
大家都知道,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】—集中式与分布式版本控制系统相关推荐
- 集中式、分布式版本控制系统的区别
集中式版本控制系统(有 SVN.CVS等) 集中式有中央仓库(需要联着网工作) 修改的版本都在服务器仓库,每次对比代码 分布式版本控制系统(git) 分布式没有中央仓库,存在客户端一份(不用时刻连网, ...
- 集中式和分布式版本控制系统的区别
集中式: 先说集中式版本控制系统.简单的说就是,版本库是集中的存放于中央服务器的.干活的时候,先要去中央服务器里领取最新的版本,然后在开始干活.干完活在将自己的版本上传到中央服务器. 就好比要改一本书 ...
- git 集中式vs分布式
转自http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/001374027586935 ...
- Git集中式vs分布式笔记
git简介 是目前世界上先进的分布式版本控制系统(没有之⼀). 不但能自动帮我记录每次文件的改动,还可以让同事协作编辑,这样就不用自己管理一堆类似的文件了,也不需要把文件传来传去.Linus花了两周时 ...
- 版本控制系统的集中式和分布式
大家都知道CVS及SVN都是集中式的版本控制系统:Git是分布式版本控制系统.那么集中式和分布式版本控制系统有什么区别呢? 先来说说集中式版本控制系统,版本库都是集中存放在中央服务器的.而干活的时候, ...
- git(2)---git 分布式版本控制系统
集中式vs分布式 Linus一直痛恨的CVS及SVN都是集中式的版本控制系统,而Git是分布式版本控制系统,集中式和分布式版本控制系统有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央服务 ...
- 版本控制:集中式VS分布式了解它们的运行方式
前面提到,Linus一直痛恨CVS及SVN这些集中式的版本控制系统,为什么呢?Git是分布式版本控制系统,那么集中式和分布式版本控制系统又有什么区别呢? 先说集中式版本控制系统,版本库是集中存放在中央 ...
- 何为集中式版本控制系统与分布式版本控制系统?
什么是集中式版本控制系统与分布式版本控制系统? 集中式版本控制系统:版本库是集中放在中央服务器的,当我们实际工作的时候,用的都是自己的电脑,所以首先要连接中央服务器,从那里得到最新的版本,然后编写或者 ...
- 版本控制系统-集中式与分布式的区别
SVN和CVS都是集中式版本控制系统,而Git是分布式版本控制系统 集中式版本控制系统 版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干 ...
最新文章
- SSM框架——Spring+SpringMVC+Mybatis的搭建教程
- Docker mongo副本集环境搭建
- PL/SQL导入/导出dmp文件-Oracle表空间不一致
- ​Nature子刊 | 睡眠时型会影响人类大脑生理的认知功能
- 使用Spring提供Quartz来实现定时任务
- gentoo 安装mongodb
- Node.js设置CORS跨域请求中多域名白名单的方法
- jQuery easyUI Pagination控件自定义div分页(不用datagrid)
- 计算机二级基础知识微盘,计算机二级C++基础知识(整理版).pdf
- python中pickle模块讲解
- MapReduce的map流程
- 130242014075 杨利城 《电商系统某功能模块》的需求分析与设计
- 工业级交换机芯片选择的注意事项
- maven项目中通过idea工具打jar包
- STM32cubemax的下载与配置
- Phyllotaxis算法应用
- 【KSQL引擎 介绍】
- Invoking “make -j1“ failed
- 基于Vue+Java实现的在线聊天APP系统设计与实现
- 【LNK2019】 无法解析的外部符号 __iob