最直观的:Git是分布式版本控制系统,Svn是集中式版本控制系统
集中式版本控制系统,顾名思义:由一个单一的服务器集中管理,保存所有文件,协同工作的人都需要通过客户端链接到服务器(连网)并且需要相应的权限,才能进行增删改操作,在做完相应操作后需要push到中央服务器。
好处:每个人都能一定程度上看到项目中其他人正在做什么,管理员可以轻松掌控每个开发者的权限
坏处:如果服务器宕机,没修好之前谁也无法进行操作。如果没有做好及时的数据备份还会面临数据丢失的风险
分布式版本控制系统:没有中央服务器,每个人的电脑就是一个完整的版本库,每个人都拥有全部的代码可以在本地看到历史记录。支持多人协同开发,比如自己修改了文件A,其他人也修改了文件A,只需要把各自的修改推送给对方就可以相互看到对方的修改
好处:不依赖网络对分支和合并更加友好,支持多人协同开发,不会因为服务器损坏或者网络问题造成不能工作的情况,只要有一个用户的设备没有问题,就可以恢复所有的数据
坏处:可以轻易拿到全部代码