SVN和GIT的区别是:1、模式不同;2、存储方式不同;3、版本号不同;4、分支不同。SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。
一、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的区别的内容了,希望对大家有帮助。