首先说一下什么是集中式版本控制系统(比如CVS和SVN):在集中式版本控制系统中,版本库集中放在中央服务器上,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。中央服务器就好比是一个图书馆,你要改一本书,必须先从图书馆借出来,然后回到家自己改,改完了,再放回图书馆。
那分布式版本控制系统与集中式版本控制系统有何不同呢?首先,分布式版本控制系统根本没有“中央服务器”,每个人的电脑上都是一个完整的版本库,这样,你工作的时候,就不需要联网了,因为版本库就在你自己的电脑上。
既然每个人电脑上都有一个完整的版本库,那多个人如何协作呢?比方说你在自己电脑上改了文件A,你的同事也在他的电脑上改了文件A,这时,你们俩之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。
Git分布式版本控制系统的优点:
- 不必联网,因为版本库就在自己的电脑上,hummmmmm
- 安全性高,因为每个人电脑里都有完整的版本库,一个人的电脑坏掉从其他人那里拷贝一份即可,但集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
- 此外Git还有极其强大的分支管理