下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

web前端:版本管理——Git和SVN的介绍及其优缺点

作者:而一水巳     来源: https://www.cnblogs.com/funseey/p/11609143.html点击数:1702发布时间: 2020-03-05 11:56:46

标签: 互联网GitSVN

Web开发

  svn存储版本数据也有2种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的存储系统)。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式更安全一点。

  版本管理

  概念:版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。

  好处:可以保留我们的历史版本,在代码开发到一半的时候,不至于无故丢失,还可以查看BUG的来龙去脉。

  版本管理种类:集中式的版本管理和分布式的版本管理。实现的控制软件分别有SVN和Git。

  了解了版本管理的概念那就进入主题,讲讲SVN和Git

  SVN

  概念:SVN是Subversion的简称,是一个开放源代码的集中式的版本控制系统。

  具体描述:集中式代码管理,核心是服务器。所有开发者在开始新一天的工作之前必须从服务器获取代码,然后开发,解决冲突,最后提交。所有的版本信息都放在服务器上。如果脱离了服务器,开发者基本上可以说是无法工作的。

  简述:SVN是集中式版本管理,大家都提交文件到同一个地方,服务器的存储压力大。因此它对于文件的版本控制,只记录修改部分,不产生多余的数据。

  最大的缺点:这是一个集中式的版本管理,所有的数据都经过中央服务器进行交换同步。如果不能连接到服务器上,基本上不可以工作,如果服务器不能连接上,就不能提交,还原,对比等等。

  SVN优缺点总结:

  SVN的优点:

  1、采用集中式,易于管理,保证安全性;

  2、管理方便,逻辑明确,理念符合常规思维;

  3、代码的一致性高;

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

  5、允许一个文件有任意多的可命名属性,会关注所有的文件类型;

  6、支持二进制文件,更容易处理大文件;

  7、支持空目录。

  SVN的缺点:

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

  2、必须连接在服务器上,否则基本不能工作、提交、对比、还原等;

  3、不适合开源开发。

  ————————————————————————————————

  Git

  概念:Git是目前世界上最先进的分布式版本控制系统。

  SVN与Git的最主要的区别:

  SVN的存储需要依赖一个服务器,而git所有的东西是放在线上的。节约成本,省时省力。

  git是分布式的,svn不是。

  git按照源数据的方式存储内容,svn是按照文件的形式存储

  git和svn中的分支不同。

  git没有全局版本号,svn有。

  git内容的完整性优于svn。

  工作区:个人PC中能看到的文件目录结构

  暂存区:stage/index,一般存放在.git/index中,所以git中的暂存区也会称为索引。

  版本库:工作区中的.git隐藏文件,不算是工作区,而是Git的版本库。

  Git的优缺点总结

  Git的优点:

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

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

  3、速度快,成熟的架构,开发灵活;

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

  5、离线工作,管理代码成本低,不需要依赖服务器;

  6、部署方便。基本上下个命令就可以用;

  7、良好的分支机制,可以让主干代码保持干净。

  Git的缺点:

  1、资料少,学习成本比较大,学习周期比较长,要求人员素质比较高;

  2、不符合常规思维;

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

  SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。说得简单一点SVN就是用于多个人共同开发同一个项目,共用资源的目的。

赞(14)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程