前言:
分布式版本控制系统除了Git以及促使Git诞生的BitKeeper外,还有类似Git的Mercurial和Bazaar等。这些分布式版本控制系统各有特点,但最快、最简单也最流行的依然是Git!
集中式版本管理系统主要有CVS以及SVN,还有微软的VSS(集成于Visual Studio 中)还有IBM的ClearCase等等
CVS及SVN属于集中式版本管理系统的代表
Git属于分布式版本管理系统的代表
一、集中式版本控制系统:
集中式版本控制系统,版本库是集中存放在中央服务器的,工作时,每人使用自己电脑,所以要先从中央服务器取得最新的版本,然后开始协同工作。每人将自己完成的任务推到中央服务器。
集中式版本控制系统的最大缺点就是需要时刻联网。并且对网络宽带要求较高。其次就是,在其中一个人对中央服务器的文件进行修改的时候,其他人是无法获得修改权限的。
二、分布式版本控制系统
首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库。而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统的时候,其实很少在两人之间的电脑上推送版本库的修改,因为可能你们俩不在一个局域网内,两台电脑互相访问不了,也可能今天你的同事病了,他的电脑压根没有开机。因此,分布式版本控制系统通常也有一台充当“中央服务器”的电脑(GitHub),但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家也一样干活,只是交换修改不方便而已。
参考链接:猴子都能懂的Git入门