git和svn的优缺点

本文借鉴了https://www.cnblogs.com/Sungeek/p/9152223.html,写的十分详细

概念总结----------->

集中式:

  • 将项目集中放在中央服务器(云服务器),
  • 工作在自己电脑,在同一个地方下载最新版本,之后提交到中央服务器
  • 需要联网操作,类似方式:云开发

git和svn的优缺点_第1张图片

分布式:

  • 只需要提供一台电脑座位版本集中存的服务器
  • 服务器作用仅仅方便大家‘交换’修改
  • 不需要联网,本地直接运行

git和svn的优缺点_第2张图片

 所以我认为最大的区别在于集中和分布,围绕这两点,来谈一下svn和git的优缺点

1.SVN优缺点

优点: 

1、 管理方便,逻辑明确,符合一般人思维习惯。 

2、 易于管理,集中式服务器更能保证安全性。 

3、 代码一致性非常高。 

4、 适合开发人数不多的项目开发。 

缺点: 

1、 服务器压力太大,数据库容量暴增。 

2、 如果不能连接到服务器上,基本上不可以工作,看上面第二步,如果服务器不能连接上,就不能提交,还原,对比等等。 

3、 不适合开源开发(开发人数非常非常多,但是Google app engine就是用svn的)。但是一般集中式管理的有非常明确的权限管理机制(例如分支访问限制),可以实现分层管理,从而很好的解决开发人数众多的问题。

 

2.Git优缺点
优点: 

1、适合分布式开发,强调个体。 

2、公共服务器压力和数据量都不会太大。 

3、速度快、灵活。 

4、任意两个开发者之间可以很容易的解决冲突。 

5、离线工作。 

缺点: 

1、学习周期相对而言比较长。 

2、不符合常规思维。 

3、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

 

 

 

你可能感兴趣的:(Git,面试题)