首页 > 其他分享 >细说集中式与分布式版本控制系统

细说集中式与分布式版本控制系统

时间:2022-12-19 18:00:42浏览次数:62  
标签:Git 细说 控制系统 集中式 版本 服务器 分布式


前言:

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

集中式版本管理系统主要有CVS以及SVN,还有微软的VSS(集成于Visual Studio 中)还有IBM的ClearCase等等

CVS及SVN属于集中式版本管理系统的代表

Git属于分布式版本管理系统的代表


一、集中式版本控制系统:

​集中式​​版本控制系统,版本库是集中存放在中央服务器的,工作时,每人使用自己电脑,所以要先从中央服务器取得最新的版本,然后开始协同工作。每人将自己完成的任务推到中央服务器。

集中式版本控制系统的最大缺点就是需要时刻联网。并且对网络宽带要求较高。其次就是,在其中一个人对中央服务器的文件进行修改的时候,其他人是无法获得修改权限的。



二、分布式版本控制系统

首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。

和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。

在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑(GitHub),但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。




参考链接:​​猴子都能懂的Git入门​


标签:Git,细说,控制系统,集中式,版本,服务器,分布式
From: https://blog.51cto.com/u_15917617/5953481

相关文章

  • Kubernetes分布式架构分析
     一个Kubernetes平台可以管理几百台容器主机,以及运行在这些主机上的容器应用。如果容器主机采用裸金属服务器,则一台容器主机上运行的容器应用可以超过200个。也就是说,一......
  • 分布式ID生成方案
    分布式ID生成方案朱门酒肉臭,路有冻死骨。简介对于单体项目,主键ID常用主键自动的方式进行设置。但是在分布式系统中,分库分表之后就不行了,如果还采用简单数......
  • 基于消息队列实现分布式事务
    注意:本文把消息队列与购物车系统看作同一个事务目标:掌握消息队列的事务场景:订单系统产生订单,购物车系统减购物车中的商品。实现思路:订单系统在消息队列上开启一个事务......
  • 《细说 QML》
    关于命名原本想给本系列文章起一个很“叼”的名字,无奈笔者语言匮乏,绞尽脑汁才想出一个还算凑合的名字-《细说QML》,关于“细说”,新华词典中有记载:细说[xìshuō]:详细地......
  • “去中心化”和“分布式”
    很多人口中的“去中心化”,与它的字面意思并不匹配,“去中心化”成为了一个迷惑性的词。而人们口中的“分布式”也有不同的含义。我们可以先定义什么是中心化:把整个事物全......
  • docker高级篇2-分布式存储之三种算法
    面试题:1~2亿条数据需要缓存,请问如何设计这个缓存案例?答:单机单台100%是不可能的。肯定是分布式缓存的。那么用Redis如何落地?一般有三种方案:哈希取余分区;一致性哈希算法分区;哈......
  • docker高级篇2-分布式存储之三种算法
    面试题:1~2亿条数据需要缓存,请问如何设计这个缓存案例?答:单机单台100%是不可能的。肯定是分布式缓存的。那么用Redis如何落地?一般有三种方案:哈希取余分区;一致性哈希算法......
  • redis 轻松实现分布式秒杀系统
    redis轻松实现分布式秒杀系统利用redis操作的原子性,轻松实现一个分布式的秒杀系统。假设设计背景:1万人去抢10个商品设计思路:在redis中存储一个list,每次用户请求抢购......
  • redis分布式锁
    redis分布式锁C#集合线程问题:https://www.cnblogs.com/Clingingboy/archive/2010/12/06/1897534.htmlC#多线程安全集合类:https://www.cnblogs.com/Darius0821/p/16967......
  • GIt分布式管理工具
    Git(分布式版本控制工具)Git的学习是不依赖我们前面学习的知识,就算没有学习java也可以学习Git就是一个类似于百度云盘的仓库重点是要掌握使用idea操作Git,企业用的最多,一般......