git和svn最大的差异在于git是分布式管理方式而svn是集中式管理的方式
集中式管理的核心是服务器
缺点:
服务器压力太大,数据库容量暴增
如果不能连接到服务器上,基本不可以工作。
不适合开源开发(开发人数太多),但一般集中式管理的有非常明确的权限管理机制,可以实现分层管理,从而比较好的解决开发人数过多的问题。
优点
管理方便,逻辑明显,符合一般人思维习惯
易于管理,集中式服务器更能保证安全性
代码一致性更高
适合开发人数不多的项目开发
大部分软件配置管理的大学教材都是使用的svn和vss
分布式开发
缺点:
中文优质资料较少
学习周期相对较长
不符合常规思维
代码保密性较差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息
优点:
适合分布式开发,强调个体
公共服务器的压力和数量都不会太大
速度快,灵活性较高
任意两个开发者之间很容易解决冲突
离线工作