美文网首页
Git里面的分布式的介绍

Git里面的分布式的介绍

作者: 不知所Yun | 来源:发表于2019-03-06 13:22 被阅读0次

    Git里面的分布式的介绍

    1.什么是分布式和集中式?

    分布式:
    在不同服务器上部署不同服务模块,然后通过远程协同使用不同服务器模块;这类似于司令官模式,军队里的司令官充当着发号指令,给不同军种分配不同任务的角色;有了司令官统一协调军种,一切行动听指挥,那就能打胜仗;如果没了司令官也能打仗吗?答案:能;只不过没有司令官发号施令,各军种士兵就容易当炮灰;三个关键词:司令官,各军种,打仗;

    集中式:
    在同一服务器(也称为中央服务器)中部署不同的服务器模块,有需要的时候则统一调用中央服务器中的服务模块;这类似于学校图书馆,图书馆承担着学生借书和还书等功能;当图书馆关闭之后,那么学生就无法再借书或还书了;所以集中的最大的缺点就是当中心服务器出现问题后,其他人的就无法工作了;三个关键词:图书馆,学生,借书或还书;

    注意:
    不管是分布式还是集中式都没有去中心化,都有中心模块;只不过中心模块所担任的职责不一样;
    分布式中心模块主要承担注册,分配,协调各服务资源的责任,它不用实现各服务资源功能;
    集中式中心模块主要承担是实现各服务资源的责任,也就是所有的功能的实现都在中心模块中,其他人要使用某资源只能从中心模块拿;

    2.Git的分布式体现在哪里?

    在多人协作开发的过程中,Git版本控制工具也有中心服务器来统一管理和交换不同开发者之间的代码;注意,没有中心服务器开发者之间的代码就不能进行交换,所以中心服务器承担的责任是将各个开发者关联起来,统一管理代码;Git的分布式体现在各个开发者在本地电脑上都有个本地仓库,在无网络的情况下,可以将代码提交到本地仓库;然后等网络恢复时,就可以push本地提交的代码,并与其他开发者进行代码交换

    3.项目开发场景再现!

    项目名称:XX项目;
    领导:项目技术主管—牛主管
    参与程序猿:A程序猿,B程序猿,C程序猿;
    版本控制工具:Git工具

    在公司项目会议上,牛主管:公司来了XX项目新项目了,需要A,B,C这三位程序猿协作开发该项目,我今天在服务器上搭建Git服务环境,到时候给你们分配账号,然后使用git clone命令克隆git服务器代码环境(如果有代码,就包括代码)在你们本地电脑上建立本地仓库;A,B,C三位异口同声说:好的;

    项目开发进行一段时间,突然Git服务器环境挂了,这3位程序猿慌了,怎么办?没了Gi服务器就不能相互交换代码了,不知道能不能直接交换(这里的直接交换是指A程序猿直接拉取B程序猿的代码,不经过Git服务器)?牛主管说:不能,没有Git服务器就无法进行代码交换。虽然Git是分布式的,但是它不是去中心化的,各个开发者的代码管理还是需要Git服务器进行统一协调的。但是你们本地仓库还在,你们可以将各自开发的模块代码,提交至你们本地仓库,注意不要修改同一份代码文件,防止冲突。等Git服务器环境恢复了再进行代码交换更新;

    历时一日后,牛主管恢复Git服务器环境,A,B,C根据自己提交的本地仓库代码记录来push到Git服务器上;

    项目又进行了一些时日,由于甲方突然要求提前交付,项目开发组就新增了D,E这两位程序猿进行协助开发;牛主管就在Git服务器环境上给这两位小伙伴又分配了新的Git账号和功能模块;一天又一天,项目终于按期交工结束了......

    相关文章

      网友评论

          本文标题:Git里面的分布式的介绍

          本文链接:https://www.haomeiwen.com/subject/dzetpqtx.html