【转】Subversion 与Git 的优缺点比较

两者差异在于:

1. SVN是集中式版本控制系统,Git是分布式版本控制系统;

2. SVN记录差异比较,Git是对新版本直接做快照;

3. SVN的提交会出现冲突的概率随着同一时间工作人数的增加而增加,Git鼓励多建分支使得冲突几率减小,且冲突解决机制更好(待分析);

4. SVN可以通过权限控制使得部分代码的安全性,Git 则是完全clone整个仓库到本地,任何人均可以访问任何部分的代码。

1.SVN优缺点

优点: 
1、 管理方便,逻辑明确,符合一般人思维习惯。 
2、 易于管理,集中式服务器更能保证安全性。 
3、 代码一致性非常高。 
4、 适合开发人数不多的项目开发。 
缺点: 
1、 服务器压力太大,数据库容量暴增。 
2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。 
3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

2.Git优缺点
优点: 
1、适合分布式开发,强调个体。 
2、公共服务器压力和数据量都不会太大。 
3、速度快、灵活。 
4、任意两个开发者之间可以很容易的解决冲突。 
5、离线工作。 
缺点: 
1、学习周期相对而言比较长。 
2、不符合常规思维。 
3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

猜你喜欢

转载自blog.csdn.net/archer_wu2/article/details/80605102