Git 和 SVN 的区别?

写在前面:

git和SVN都是一个版本管理工具,没有孰优孰劣之分,在这里,只是简单的说一说git和svn的优缺点。选用哪一个看自己公司的实际情况而定。

1) 核心的区别在于git是分布式的,SVN不是。但git不是唯一的分布式的版本管理工具,还有像Mercurial等分布式版本管理工具,也有像SVN一样的集中式版本管理工具,例如VSS,CVS等。Git跟SVN一样有自己的集中式版本库和Server端,但Git更倾向于分布式开发,因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端。这一点是非常讨喜的。

2) Git把内容按元数据方式存储,而SVN是按文件:因为.git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。

3) Git没有一个全局的版本库,SVN有。

4) Git的内容完整性优于SVN。因为git的内容存储使用的是sha-1哈希算法。

5) Git可以有无限个版本库,SVN只能有一个指定的中央版本库。

6) SVN有一个致命的缺点,当SVN中央版本库有问题时,所有的工作成员都一起瘫痪直到版本库维修完毕或者新的版本库建立完成。每一个git都有一个版本库,区别是它们是否拥有活跃目录。如果主要版本库有问题,工作人员仍然可以在自己的本地版本库提交,等主要版本库恢复即可。工作人员也可以提交到其他的版本库!

写在后面:

Git最大的特点是分布式,工作人员可以在任何地点工作,没有网络也可以,但相对而言安全性可能会差一点。SVN特点是集中式,虽然对人员有限制,但是在安全这方面也会优于git。Git的操作相对于SVN来说会难一点,但实际上,程序员用git比用SVN多。

转载于:https://www.cnblogs.com/PrayLs/p/10283207.html

谈一谈git和SVN两大版本管理工具。相关推荐

  1. SVN与GIT两大版本管理工具

    版本管理的基本含义: 版本管理是为满足不同需求,对同一产品或系统进行局部的改进和改型所产生的产品或系统系列的变更情况进行记录.跟踪.维护和控制的过程. 为什么要使用版本管理: 假设你在的公司要上线一个 ...

  2. 3dmax:3dmax的软件两大常用工具之基本三维实体(标准基本体、扩展基本体、复合对象)之详细攻略

    3dmax:3dmax的软件两大常用工具之基本三维实体(标准基本体.扩展基本体.复合对象)之详细攻略 目录 基本三维实体 三维实体都有共同的参数设置 1.基本体 1.1.标准基本体

  3. 3dmax:3dmax的软件两大常用工具之基本二维图形(线、圆、椭圆、弧、多边形、星形、文本、螺旋线、截面、扩展样条线)之详细攻略

    3dmax:3dmax的软件两大常用工具之基本二维图形(线.圆.椭圆.弧.多边形.星形.文本.螺旋线.截面.扩展样条线)之详细攻略 导读:基本二维图形绘图时,当绘制超出视口范围,按住I键即可. 目录 ...

  4. 3dmax:3dmax的软件两大常用工具之基本三维实体(标准基本体、扩展基本体、复合对象)之详细攻略——daiding

    3dmax:3dmax的软件两大常用工具之基本三维实体(标准基本体.扩展基本体.复合对象)之详细攻略 目录 基本三维实体 三维实体都有共同的参数设置 1.基本体 1.1.标准基本体

  5. SVN 集中式版本管理工具

    SVN : 集中式版本管理工具 checkout: 下载代码, 只需要做一次 update : 更新代码 commit :提交代码 三. SVN服务器搭建及配置(了解) 一. 端口号 http 80 ...

  6. add svn 多个文件_用好Git 和 SVN ,轻松驾驭版本管理

    一.Git vs SVN Git 和 SVN 孰优孰好,每个人有不同的体验. Git是分布式的,SVN是集中式的 这是 Git 和 SVN 最大的区别.若能掌握这个概念,两者区别基本搞懂大半.因为 G ...

  7. 趣谈js的call和apply两大召唤术

    前言 在<趣谈js的bind牌胶水>这篇文章中,我聊到了js的bind牌胶水,这篇文章我来聊聊bind牌胶水的升级版:call和apply方法. Why? --> 为什么会出现app ...

  8. 2022最新!数据分析通用分析法则和两大分析工具

    商业数据分析之所以越来越火,是因为小到业务执行.大到企业决策,数据都在持续发挥着价值.很多人凭借着数据分析的优势,在职场上愈加具有核心竞争力. 最近,我一个做运营的朋友告诉我自己升职加薪了,原来转正述 ...

  9. windows安装 Git Large File Storage大文件下载工具ge

    下载地址 导航到 git-lfs.github.com 并单击Download开始下载 git-lfs的用法指南 验证安装成功 打开Git Bash 验证安装成功,使用命令 git lfs insta ...

最新文章

  1. Windows Phone 7 Tip (5) -- App liftcycle
  2. pptpd的远程连接成功并使用
  3. some tips from baidu
  4. 浅谈APP流式分页服务端设计(转)
  5. Kafka跨集群迁移方案MirrorMaker原理、使用以及性能调优实践
  6. android 自定义 child,Android自定义View
  7. a.out.h 头文件分析 \linux-1.0\linux\include\linux\a.out.h
  8. java vector_Java Vector sureCapacity()方法与示例
  9. Java 获取文件目录最终的修改时间
  10. 2015-04-11一些知识点
  11. 这个使用 Python 编写的 PDF 神器你值得拥有!
  12. 逻辑代码题:五个学生参加计算机比赛
  13. 【前端】jQuery学习内容概览
  14. HMM:隐马尔科夫模型 - 学习
  15. javascript使用栈结构将中缀表达式转换为后缀表达式并计算值
  16. 使用CoreTelephony获得SIM卡网络运营商名称
  17. 获取UDID的几种方式
  18. Thonny - 为初学者准备的Python开发工具
  19. tensorflow笔记-文本情感分类
  20. JAVA基础 网络编程

热门文章

  1. 机器人进攻民用市场:踏实做好小优美
  2. WampServer安装环境
  3. Java HotSpot VM 命令行参数【官方版】
  4. linux svn 开机启动
  5. python在内存中生成Zip文件!
  6. Linux下安装二进制版mysql-8.0.15
  7. 梯度下降原理及Python实现
  8. IT专业人士需要知道的2018年七大技术趋势
  9. 查看binlog文件的2种方式
  10. Python基础之模块与包