博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
集中式(SVN)和分布式(Git)版本控制系统的简单比较
阅读量:7257 次
发布时间:2019-06-29

本文共 710 字,大约阅读时间需要 2 分钟。

 

   集中式(SVN)  分布式(Git)
 是否有中央服务器  有。开发人员需要从中央服务器获得最新版本的项目然后在本地开发,开发完推送给中央服务器。因此脱离服务器开发者是几乎无法工作的  没有中央服务器,开发人员本地都有 Local Repository
 网络依赖    必须要联网才能工作,而且对网络的依赖性较强,如果推送的文件比较大而且网络状况欠佳,则提交文件的速度会受到很大的限制。  分布式在没有网络的情况下也可以执行commit、查看版本提交记录、以及分支操作,在有网络的情况下执行 push 到 Remote Repository。
 文件存储格式   按照原始文件存储,体积较大  按照元数据方式存储,体积很小
 是否有版本号  有    没有
分支操作的影响 

创建新的分支则所有的人都会拥有和你一样的分支

 
分支操作不会影响其他开发人员
 提交  提交的文件会直接记录到中央版本库  提交是本地操作,需要执行push操作才会到主要版本库

 

以 Git 和 SVN 为例,分布式和集中式版本控制系统的特点:

图片来源:

git

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

 

图片来源:

SVN

  • 管理方便,逻辑明确,符合一般人思维习惯。
  • 易于管理,集中式服务器更能保证安全性。
  • 代码一致性非常高。
  • 适合开发人数不多的项目开发。

 

 

转载于:https://www.cnblogs.com/wx1993/p/7680877.html

你可能感兴趣的文章
mysql Can't connect to local MySQL server through socket 问题解决
查看>>
linux 技术网站
查看>>
jQuery使用示例详解
查看>>
分佈式事務故障處理暨ORA-24756: transaction does not exist處理
查看>>
Swift 数据类型
查看>>
数据结构 queue
查看>>
Go语言中的方法(Method Sets)
查看>>
简单的安卓音乐播放器
查看>>
svn提交代码
查看>>
关于头文件
查看>>
DDGScreenShot—图片擦除功能
查看>>
微软正式发布Chromium Edge开发预览版
查看>>
最老程序员创业札记:全文检索、数据挖掘、推荐引擎应用45
查看>>
解决 'chromedriver' executable needs to be in PATH.'报错
查看>>
构建之法
查看>>
找到当前mysql group replication 环境的primary结点
查看>>
迁移应用数据库到MySQL Database on Azure
查看>>
Fibonacci
查看>>
12.4.1 压缩索引
查看>>
springmvc图片上传(兼容ie8以上,实时预览)
查看>>