为什么说Git比SVN更好.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
为什么说Git比SVN更好 为什么说Git比SVN更好 为什么说Git比SVN更好 为何说Git比SVN更好H5App开发用 WeX5,体验极速秒开! ? 在版本控制系统的选型上,是选择 Git 仍是 SVN? 关于开源项目来说这不算问题。使用 Git 极大地提升了开发 效率、扩大了开源项目的参加度、 加强了版本控制系统的 安全性,选择 Git 早已经是大势所趋。 但关于公司用户来说这个信心不太好下。部分原由是出于对 Git的误会,部分原由是尚不认识Git究竟能给项目管理带 来什么利处。希望本文能对您项目的版本控制系统选型供给 帮助。 对SVN的迷信和对 Git的误会 误会1:SVN只好检出(checkout)一个版本(revision)的代码,而Git却能够脱库!这个误会是这样广泛,几乎成了SVN在公司市场中封杀Git 的尚方宝剑。其实略微思虑一下这个谣言就很难流传。既 然SVN能够读取受权接见的文件的每一个版本,那么就能 够重组这些版本,从而实现对版本库的完好复制。即SVN 也能够脱库。 SVN脱库的工具SVN自己就供给:svnsync。这个工具主要用于SVN的版本库镜像。比如将版本库 /svn/repo脱库到当地的 dump目录,命令如 下: $svnadmincreatedump $printf'#!/bin/sh\nexit0\n'> dump/hooks/pre-revprop-change $chmoda+xdump/hooks/pre-revprop-change $svnsyncinitfile://$(pwd)/dump/svn/repo$svnsyncsyncfile://$(pwd)/dump 有人以为SVN能够对目录受权,从而阻挡对整个版本库进 行脱库操作。下边就来看看 SVN的受权终究能否靠谱。 误会 2:SVN 能对目录进行精美受权,而 Git 太不安全 SVN 的目录受权对管理员来说是灾害, 管理负担相当重, 在 分支或里程碑众多的时候很难作对。 这是由于 SVN 的分支 和里程碑(tags)自己就是一个目录(使用目录拷贝实现的)。 比如管理员为名为demo的SVN版本库受权。一个其实不太复 杂的主线(/trunk)受权以下: [demo:/trunk] @demo-admin=rw @leaders=r[demo:/trunk/doc] @demo-dev=rw @designers=rw[demo:/trunk/src/apps] @demo-dev=rw[demo:/trunk/src/common] @demo-dev=rw[demo:/trunk/src/html] @designers=rw[demo:/trunk/src/secret] *= @demo-admin=rw jiangxin=rw 假如项目创立了保护分支/branches/1.x,若和 /trunk受权 同样,则需要将上述受权在/branches/1.x下重修。需要在授 权文件中再增添以下受权指令: [demo:/branches/1.x] @demo-admin=rw @leaders=r[demo:/branches/1.x/doc] @demo-dev=rw @designers=rw[demo:/branches/1.x/src/apps] @demo-dev=rw[demo:/branches/1.x/src/common] @demo-dev=rw[demo:/branches/1.x/src/html] @designers=rw[demo:/branches/1.x/src/secret] *= @demo-admin=rw jiangxin=rw假如版本库的分支和里程碑愈来愈多,配置的工作量相当可 观,稍有不慎不是受权文件格式损坏致使SVN没法工作,就 是造成开放受权。我以前写过 SVN路径受权的补丁,并写了一款SVN版本库 管理的开源软件(拜见《pySvnManager手册》),但想 完满解决这个问题很难。我的一个假想是在  SVN  对分支和 里程碑受权检查时缺省使用 /trunk 的受权,但这样的实现要 求使用SVN严格按照商定俗成的三个顶级目录的规范。 Git关于写操作能够精美到目录和分支级别(使用Gitolite作 为服务器),但作为散布式版本库控制系统,在设计上只好 实现版本库量子化的读受权。即某用户对整个版本库要么 都能读,要么对整个版本库都不可以读。 那么怎样控制 Git版本库的读受权呢?实质上Git能够经过 子模组来实现细粒度的读受权。即在项目需要精美受权的 场合,将版本库拆分为多个 Git版本库进行独自受权,再使 用子模组将多个版本

文档评论(0)

183****0046 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档