个人随笔
技术改变世界

Git 与 SVN 的区别,哪个更好?

Git 与 SVN 到底哪个好?其实任何事情,归根结底都是人的问题,工具只是工具,所以并没有哪个好与不好。

下面再来简述下Git与SVN的区别,以及我对这两款版本控制工具的一些理解。。

 

Git 是分布式的,SVN是集中式的

使用Git,Git倾向于使用分布式的方式进行代码管理,在每个开发人员从服务器上Clone后,本地都将有一个本地库,之后的新增文件、提交文件都是在本地的。只有Push的时候才会提交到服务器。有人觉得这似乎没多大用处,可以这样讲,当你在飞机上时、地下室、等没网络的地方时,使用Git你依然可以提交代码、查看历史记录、创建分支等。

而SVN则是直接提交到服务器上,所以在没有网络的时候是不能commit的,需要等待有网络的时候才能进行代码提交操作。

 

.git 与 .svn 文件的存储方式

在Git项目下,每个项目都将有一个.git的隐藏文件夹,而在SVN下,每个项目都将有一个.svn的文件夹。 它们的作用是类似的,都是保存本地版本的记录。

而区别是:

  • .git保存了服务器上的所有东西,如版本记录、分支、标签等
  • .svn则是保存最初拉取的版本记录开始。

当然,通过相关命令也可以从服务器拉取不同的深度的版本库,防止从服务器上拉取下来的文件变得过大,臃肿,无用数据过多。

 

以上是我总结的两点,下面是网友对git与svn的评论精选:

  1. 非纯技术开发公司更倾向于svn
  2. 服务器公司统一控制管理
  3. 安全机制, 不会每个人都拷贝一份, 可以对组员限制, 也可以分配不同组
  4. 团队合作开发起来传递的数据量不会过大, git因为都是镜像, 如果有个美工传个500mb的psd, 不相关的人员也要去下载, 很浪费流量和更新时间
  5. subversion感觉搭建非常简单支持https, 可以外部网络访问, 可以让员工在家办公, 也不用担心传递数据的流量
  6. 每个人的电脑大小不一定能装下特别大的项目, 对于svn来讲, 公司配备一个足够大的服务器硬盘就好了, 而且哪个项目完成, 直接删掉本地目录就好, 完全没有保留的必要
  7. 网游公司, 广告公司这些需要大量媒体设计混合到程序的项目中, 很需要svn这样的服务器.
  8. svn相对于git分支确实弱爆了, 但是并不能通过鄙视svn就能把所有人的习惯改过来. git在这方面来讲更倾向于开源和纯代码开发

关于图形界面,Git在Windows系统中也拥有相关界面工具,度娘上很多。

转载请注明出处王旭博客 » Git 与 SVN 的区别,哪个更好?

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址