Git基础之git与SVN版本控制优缺点区别分析

  Git和SVN的区别

  (1)SVN(集中式版本管理系统)

  集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

  Subversion属于集中式版本控制系统。

  每个人都可以一定程度上看到项目中的其他人正在做些什么。

  而管理员也可以轻松掌控每个开发者的权限。

  中央服务器的单点故障。若是宕机一小时,那么在这一小时内,谁都无法提交更新、还原、对比等,也就无法协同工作。

  如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话,还会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,被客户端提取出来的某些快照数据除外,但这样的话依然是个问题,你不能保证所有的数据都已经有人提取出来。

  Subversion原理上只关心文件内容的具体差异。每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。

  有很多人认为,集中式的版本控制系统在速度上和性能上是不足的。后来基于集中式的版本控制系统的不足,开发了分布式的版本控制系统。

  每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;

  获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;

  提交必须有网络连接(非本地版本库);

  提交需要授权,如果没有写权限,提交会失败;

  提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”… 诸如此类;

  冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。

  (2)Git(分布式版本管理系统)

  如下图所示:

  以Git为例:

  2、SVN和Git的优缺点

  (1)SVN优缺点

  1)优点:

  2)缺点:

  (2)Git优缺点

  1)优点:

  2)缺点:

  3、总结一下

  参考:https://www.jb51.net/article/245619.htm

  以上就是Git基础之git与SVN优缺点及区别分析的详细内容,更多关于git与SVN区别分析的资料请关注脚本之家其它相关文章!

  您可能感兴趣的文章: