就通常的概念来讲,当次咱们修改并保存文件时,伴随着文件内容的变化,这个文件就会产生一个新版本。
一样对于一个文件夹来讲,当文件夹里的文件被修改时,这个文件夹也会产生一个新版本。网络
做为一个自认为有良好保存习惯的我来讲,若是我要修订一个文档的错误,我会习惯性每修改一处便保存一次。
当我修订完毕的时候,就可能产生了数个版本(由于有多处错误)。要是我准备修订文件夹里的多个文档,这个文件甚至会产生上百个版本。分布式
明显的,这样的作法会占用大量的硬盘空间。并且实时监控修改也会耗费必定的内存,可能会影响主系统的运行,从而影响效率。版本控制
最关键的是,大部分中间版本都是无保存意义的。例如,将“我是ABC”改为“我是XYZ”。先删除“ABC”,再输入“XYZ”。我删除“ABC”以后先保存了一次。最后就会产生“我是ABC”、“我是”和“我是XYZ”三个版本。明显中间“我是”这个版本是无心义的。内存
因此我认为懒惰型的版本控制系统更能适应各类规模的需求,而实时型则适合于一些须要严格控制版本或须要集中管理的状况。文档
“集中式”的主要概念就是在一个“中心”进行管理。在多人协做的状况下,全部的版本都经过这个中心进行“保存、复制和合并”等控制。
集中式的优点在于容易管理。可是一旦这个“中心”挂掉,就会致使整个工做网络的瘫痪。同步
针对这问题因而出现了“分布式”,它的主要概念是人人都是“中心”。每人的电脑都拥有全部的版本。在原“中心”挂掉的状况下, 每一个人均可以正常地工做。同时由于每台电脑中的版本都是完整的,因此不经过原“中心”也能够进行版本的同步,即电脑与电脑间直接交换版本。不用担忧因“中心”挂掉而会停止全部工做。it
分布式的最大优点在于能够持续地工做,可是在较多人协做的状况,效率可能比集中式更差。因此即便在分布式环境下,也会在网络设置一个“中心”用于交换版本。效率