千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  SVN和GIT有哪些区别?

SVN和GIT有哪些区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-19 01:48:51

一、SVN和GIT的区别

1、模式不同

GIT是分布式的,SVN不是,这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。

GIT跟SVN一样有自己的集中式版本库或服务器。但,GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。

因为每一个开发人员的电脑上都有一个Local Repository,所以即使没有网络也一样可以Commit,查看历史版本记录,创建项目分支等操作,等网络再次连接上Push到Server端。

2、存储方式不同

GIT把内容按元数据方式存储,而SVN是按文件。

因为,GIT目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.GIT目录的体积大小跟.SVN比较,你会发现它们差距很大。

3、版本号不同

GIT版本号是全球少数的,而SVN版本号是全局少数的。

在使用中,发现,每次对整个目录进行提交,SVN是把所有文件无论有无更新都打上版本号,而GIT则只是对更新文件进行打版本号。

4、分支不同

分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。所以,经常会发生有些分支被遗漏的情况。

然而,处理GIT的分支却是相当的简单和有趣,你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。因为git是基于差异来管理分支的,其分支的代价极小。

延伸阅读:

二、什么是SVN

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

SVN的全称式Subversion,即版本控制系统。它是最流行的一个开放源代码的版本控制系统。作为一个开源的版本控制系统,Subversion管理随着时间改变的数据。这些数据放置在一个中央资料档案库中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样可以把档案恢复到旧的版本,或是浏览文件的变动历史。Subversion是一个通用的系统,可以用来管理任何类型的文件,其中包括程序源代码。

SVN采用客户端/服务端体系也就是我们常说的(C/S架构),项目的各种版本都存储在服务器上,程序开发人员首先将从服务器上获得一份项目的最新版本,并将其复制到本机,然后再此基础上,每个开发人员可以再自己的客户端进行独立的开发工作,并且可以随时将新代码提交给服务器。当然也可以通过更新操作获取服务器上的最新代码,从而保持与其他开发者所使用版本的一致性。

SVN的客户端有两类,一类是基于Web的WebSVN等,另一类是以Tortoise SVN为代表的客户端软件。前者需要Web服务器的支持,后者需要在本地安装客户端,两种都有免费的开源软件供使用。SVN存储版本数据也有两种方式:BDB(一种事务安全型表类型)和FSFS(一种不需要数据库的储存系统)

以上就是关于SVN和GIT的区别的内容了,希望对大家有帮助。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

职能管理与流程管理的区别是什么?

2023-10-19

端口测试用例怎么写?

2023-10-19

重大项目如何推进?

2023-10-19

最新文章NEW

为什么leetcode不支持php语言?

2023-10-19

golang的context和net.Conn怎么结合使用比较好?

2023-10-19

有什么免费的PDF翻译工具?11款免费翻译工具推荐?

2023-10-19

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>