Git现实(一个)版本控制概述
2015-07-07 21:28
190 查看
从今天开始。我们了解的分布式版本控制系统Git相关内容。
了解Git之前,我们的第一个版本控制系统,使宏观的描述。
版本号控制到眼下为止的相关产品有非常多,大致能够分为三类。各自是本地版本号控制系统、集中式版本号控制系统和分布式版本号控制系统。
所以很早就有人开发了很多种本地版本号控制系统。其原理也很easy,即使用一个简单的数据库记录文件的每次变更。
其原理示意图例如以下所看到的:
![](http://img.blog.csdn.net/20140520180320250?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenMyMzQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
![](http://img.blog.csdn.net/20140520180458953?<br/><br/>watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenMyMzQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
其原理示意图例如以下所看到的:
![](http://img.blog.csdn.net/20140520180516296?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvenMyMzQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
三种类型的版本号控制系统介绍就到这里。这里重点了解三者之间故障及解决方案的联系和发展的过程。接下来,我们将继续讲解Git其他。
了解Git之前,我们的第一个版本控制系统,使宏观的描述。
什么是版本号控制
版本号控制是指通过对文件内容的变化进行记录,并为每次的变化进行编号,以便将来查阅文件的修订情况。有了版本号控制之后,就能够比較文件变化的细节,以便将某个文件回溯到之前某个时间点的状态,从而解决因为文件变化过程中出现的怪异问题。版本号控制到眼下为止的相关产品有非常多,大致能够分为三类。各自是本地版本号控制系统、集中式版本号控制系统和分布式版本号控制系统。
本地版本号控制系统
本地版本号控制系统出现之前。很多人为了保存不同版本号的文件,一般是通过改名病加入时间戳的方式来差别不同的版本号文件,这样的方式很easy,同一时候这样的方式也很easy造成文件混乱。所以很早就有人开发了很多种本地版本号控制系统。其原理也很easy,即使用一个简单的数据库记录文件的每次变更。
其原理示意图例如以下所看到的:
集中式版本号控制系统
相对与本地版本号控制系统,集中式版本号控制系统攻克了本地版本号控制系统仅在单个的操作系统之上执行的缺陷,实现了在不同的操作系统之上执行,这就给开发人员之间进行团队合作提供了条件。集中式版本号控制系统的原理很与本地版本号控制系统的原理类似。所不同的是集中式版本号管理系统有一个单一的集中管理的server,该server能够保存全部的文件改动版本号信息,參与团队开发的client连接这台server之后,就能够提交更新和去除最新的文件。其原理示意图例如以下所看到的:分布式版本号控制系统
虽然集中式版本号控制系统已经可以满足大部分的需求,但由于集中式版本号控制系统本身就存在单点故障问题。即假设中央server宕机或发生问题,那么各个client将无法正常工作。分布式版本号控制系统的工作原理在于client并不仅仅提取各个client上的最新版本号的文件,而是把中央server上的代码仓库完整地镜像下来。这样,其中央server发生问题之后,就行利用不论什么一个client的本地仓库进行中央仓库的恢复。由于每一次的提取操作,就是对中央server仓库的完整备份。其原理示意图例如以下所看到的:
三种类型的版本号控制系统介绍就到这里。这里重点了解三者之间故障及解决方案的联系和发展的过程。接下来,我们将继续讲解Git其他。
相关文章推荐
- Contiki 实例hello_world详细剖析
- 我眼中的HTML5
- 一个有序数组数组,给出和为s的两个数字和连续正数数列
- 《程序员面试宝典》指针问题
- Log输出打印输出LOG所在的函数名以及行号
- 用链表做一个学生管理系统
- 为什么很多看起来不是很复杂的网站,比如 Facebook 需要大量顶尖高手来开发?
- Authorize和AllowAnonymous
- AGG svg_viewer实现了渐变色渲染
- OJ嘻唰唰之填空题(1)删除线性表节点
- ISCSI完全指南
- opencv cvFilter2D
- 贝叶斯网络http://www.kuqin.com/shuoit/20141111/343155.html
- DXGI_FORMAT enumeration
- Teamcenter PSM(二)
- Jump Game II 到达终点的最小步数 模拟
- 网络打印机和共享打印机
- leetcode 009 —— Palindrome Number
- MySQL两种存储引擎MyISAM和InnoDB的比较
- SQL Server Data Tools(SSDT) 安装