Git 介绍、分布式版本管理软件介绍


一. 分布式文件版本管理系统


在分布式文件版本管理系统到来之前,市面上的文件版本管理软件都是集中式的(svn 就是典型的集中式文件版本管理系统),其软件会分为客户端软件和服务端软件两个部分,服务端软件主要功能是管理,比如对我们提交的文件的版本、分支等信息进行集中保存和管理,客户端软件主要功能是操作,比如从服务端中拉取文件、提交修改后的文件到服务端等,如下图:

集中式管理

集中式的管理有个致命的缺点,文件版本信息都在服务器端保存管理,一旦服务器坏了,这些管理信息就丢失了,丢失了会有什么影响呢,简单的一个例子,线上代码出问题了,需要回滚到之前的版本,那这个需求就无法实现

基于上述缺点,分布式文件版本管理系统出现了,其软件不再有客户端和服务端之分,不再是客户端操作后,请求服务端对操作进行记录、对版本进行管理的模式了,而是对文件操作后,直接在本地进行版本的管理和操作的记录,最后再将修改的文件和版本管理信息一并推送到远端。从远端拉取时也不仅仅是拉取文件,还会拉取完整的版本信息

这里需要注意的是,分布式模式中本地和远端的关系,不同于集中式中客户端和服务端的关系,集中式模式中客户端和服务端的功能是不一样的,而分布式模式中本地和远端的功能是相同的,远端只是另一台安装了分布式版本管理软件的机器(甚至可以是相同机器的不同路径),可以理解为本地和远端只是相对的叫法,每一个本地都可以成为另一个本地的远端

分布式

上图就是一个分布式系统的基础模型,图中也体现出了任何一个本地都可以是另一个本地的远端的结论,站在机器B的角度来说,机器B就是本地,机器A就是远端,站在机器C的角度来说机器C就是本地,机器B就是远端。

在这种分布式模式下,当机器A坏了,并不会影响机器B,因为从机器A拉取时,机器B已经包含了完整的版本信息,假设线上代码出现问题并且机器A坏了,这时机器B可以直接根据本地版本信息进行回滚,并将新的版本信息记录到本地,然后将回滚后的代码发布即可解决问题,最后等机器A恢复时,再将本地的版本信息推送给机器A保持本地和远端信息同步

二、Git 介绍


Git 是一个经典的分布式文件版本管理系统,后面的篇幅,将对 Git 作一个简单的介绍,Git 官网

2.1. Git 的最基本使用


在开始使用

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值