版本管理

  概念:版本管理是软件配置管理的基础,它管理并保护开发者的软件资源。
 
  好处:可以保留我们的历史版本,在代码开发到一半的时候,不至于无故丢失,还可以查看BUG的来龙去脉。
 
  版本管理种类:集中式的版本管理和分布式的版本管理。实现的控制软件分别有SVNGit
 
 
了解了版本管理的概念那就进入主题,讲讲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、代码保密性差,一旦开发者把整个库克隆下来就可以完全公开所有代码和版本信息。

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

关于优缺点的总结转载自:原文链接:https://blog.csdn.net/bmicnj/article/details/78413058

版本管理——Git和SVN的介绍及其优缺点的更多相关文章

  1. 关于git和SVN的介绍和区别

    主要对git,svn进行一个简单的介绍. 顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜 ...

  2. SVN和Git 介绍,区别,优缺点以及适用范围

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,支持大多数常见的操作系统.作为一个开源的版本控制系统,Subversion管理着随时间改变的数据.这些数据放置在一个中央资料档案库( ...

  3. 用好Git 和 SVN,轻松驾驭版本管理

    用好Git 和 SVN,轻松驾驭版本管理 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始使用 Git,并总结平时工作高频率使用到的 Git 常用命令. 一.Git vs S ...

  4. Git,SVN的优缺点及适合的范围,开源项目?公司项目?

    Git,SVN的优缺点及适合的范围,开源项目?公司项目? 使用git不久,粗浅理解: 1)适用对象不同.Git适用于参与开源项目的开发者.他们由于水平高,更在乎的是效率而不是易用性.Svn则不同,它适 ...

  5. GIT和SVN比较

    SVN与Git比较 摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题.本文就这 ...

  6. git 和 svn比较

    SVN和Git 介绍,区别,优缺点,适用范围总结 原创 2016年01月29日 15:17:36 15774   介绍   SVN SVN是Subversion的简称,是一个开放源代码的版本控制系统, ...

  7. 对比 Git 与 SVN,这篇讲的很易懂

    ---恢复内容开始--- 欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯工蜂发表于云+社区专栏 导语 本文从 Git 与 SVN 的对比入手,介绍如何通过 Git-SVN 开始 ...

  8. GIT,SVN,CVS的区别比较

    Git .CVS.SVN比较 项目源代码的版本管理工具中,比较常用的主要有:CVS.SVN.Git 和 Mercurial  (其中,关于SVN,请参见博客:SVN常用命令 和 SVN服务器配置) 目 ...

  9. git和svn的比较

    当前的市场上主流的两种项目开发版本控制软件就是Git和SVN,那么这二者到底有什么区别呢? 在我们公司,其实两个都用,跟对个人体验,我觉得两者差不多,都是进行代码的版本管理. 我觉得1.由于我是实习生 ...

随机推荐

  1. ie 使用window.open页面报错

    window.open(url)打开新页面是如果要通过地址栏来传参要注意 var qt = ""; qt += "&teachMaterialDealInfo.b ...

  2. 计蒜客 UCloud 的安全秘钥 ——(hash)

    题目链接:https://nanti.jisuanke.com/t/15769. 题意是求可以变换位置以后相同的子串有多少个,那么做法是只要每个数字的平方和,立方和以及四次方和都相同就可以了. 代码如 ...

  3. DBeaver的时区问题

    最近使用DBeaver作为连接MySQL的客户端,发现执行sql返回的datetime类型字段时间不对,比实际时间多了10多个小时, 无论是连接开发服务器或者连本机MySQL都有这个问题. 检查服务器 ...

  4. MySQL格式化时间date_format

    select date_format(deal_date, '%Y年%m月%d日 %H时%i分%s秒'), date_format(deal_date, '%Y-%m-%d %H:%i:%s') fr ...

  5. SQL-W3School-测验:SQL 测验

    ylbtech-SQL-W3School-测验:SQL 测验 1.返回顶部 1. 您可以通过 W3SCHOOL 的测验程序来测试您的 SQL 技能. 关于本测验 本测验包含 20 道题,每道题的最长答 ...

  6. SQL-W3School-函数:SQL UCASE() 函数

    ylbtech-SQL-W3School-函数:SQL UCASE() 函数 1.返回顶部 1. UCASE() 函数 UCASE 函数把字段的值转换为大写. SQL UCASE() 语法 SELEC ...

  7. JS pc端和移动端共同实现复制到剪贴板功能实现

    JS pc端和移动端实现复制到剪贴板功能实现 在网页上复制文本到剪切板,一般是使用JS+Flash结合的方法,网上有很多相关文章介绍.随着 HTML5 技术的发展,Flash 已经在很多场合不适用了, ...

  8. Android:Mstar Android8.0平台音量控制流程

    一.Speaker 音量.静音流程分析 java层音量设置首先调用到的是AudioManager.java中的方法,在这里有两种方法可以设置音量 setStreamVolume 和 adjustStr ...

  9. 001-http-总览、文件配置、常用http client、http连接池

    一.概述 http请求项目搭建:地址:https://github.com/bjlhx15/common-study.git 中的common-http 主要针对post请求中的,form表单[app ...

  10. 阶段5 3.微服务项目【学成在线】_day09 课程预览 Eureka Feign_13-课程预览功能开发-CMS页面预览接口测试

    5.2 CMS页面预览测试 CMS已经提供了页面预览功能,课程预览功能要使用CMS页面预览接口实现,下边通过cms页面预览接口测试课 程预览的效果. 1.向cms_page表插入一条页面记录或者从cm ...