集中式版本控制系统
版本库集中地存放在中央服务器中,使用的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了,再把自己的活推送给中央服务器。
集中式版本控制系统最大的毛病就是使用时需要先联网,在网络环境较差的情况下,十分影响使用。
分布式版本控制系统
分布式版本控制系统不设置“中央服务器”,每个人的电脑上都是一个完整的版本库,这样在工作的时候,就不需要联网了。在与他人协作时,可以将各自修改完成的文件相互推送。
和集中式版本控制系统相比,分布式版本控制系统的安全性要高很多,因为每个人电脑里都有完整的版本库(感觉类似于区块链的去中心化),而集中式版本控制系统的中央服务器要是出了问题,所有人都没法干活了。
在实际使用分布式版本控制系统时,为了便于协作,通常也有一台充当“中央服务器”的电脑,但这个服务器的作用仅仅是用来方便“交换”大家的修改,没有它大家一样干活,只是交换修改不方便而已。
当然,Git 的优势不单是不必联网这么简单,还有强大的分支管理功能。