集中式vs分布式
一直都说git是分布式的版本控制系统,svn是集中式的版本控制系统,那么这两个有什么区别呢
集中式
集中式版本控制系统,版本库是集中存放在中央服务器的,在使用的时候,需要先从中央服务器取得最新的版本,然后开始工作,之后再将自己修改的内容推送给中央服务器
其弊端就是必须联网才能工作,且中央服务器存在单点故障,如果磁盘发生损坏,又没有进行备份,就会丢失所有的数据,只剩下个人在各自机器上保留的单独快照
分布式
分布式版本控制系统根本没有中央服务器,每个人的电脑上都是一个完整的版本库,工作时可以不需要联网,本地存在着完整的版本库,如果需要多人协作,只需要将双方的修改推给对方,就可以互相看到对方的修改了,当然这种情况不多,其实还是有一台充当着中央服务器的电脑来使大家可以很方便的交换修改内容。
客户端在进行提取时并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来