- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Software Configuration Managemen
Software Configuration Managemen
t
t
提供配置管理的方法,工具,方案,经验./uahoo
转 :SVN与Git比较 2 01 1 -01 -1 7 1 2 :4 9
原文
摘要
Sv n是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git 的优势在于易于本地增加分支和分布式的特性,可离
线提交,解决了异地团队协同开发等sv n不能解决的问题。本文就这两种版本控制工具的异同点作详细介绍。
目录
摘要
集中式vs分布式
版本库与工作区
全局版本号和全球版本号
部分检出
更新和提交
分支和里程碑的实现
分支与合并
撤消操作
权限管理
客户端操作
优缺点比较
Svn与Git协作
集中式vs分布式
两种不同类型的版本控制系统:集中式和分布式
Subversion属于集中式的版本控制系统
集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到
这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。
图:1.1 集中化的版本控制系统
这种做法带来了许多好处,特别是相较于老式的本地VCS 来说。现在,每个人都可以一定程度上看到项目中的其他人正在做
些什么。而管理员也可以轻松掌控每个开发者的权限。
事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。若是宕机一小时,那么在这一小时内,谁都无法
提交更新、还原、对比等,也就无法协同工作。如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话
,还会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,被客户端提取出来的某些快照数据除外,
但这样的话依然是个问题,你不能保证所有的数据都已经有人提取出来。
Subversion原理上只关心文件内容的具体差异。每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。如下图所
示:
图:1.2 集中式版本控制系统记录文件内容的差异
Subversion的特点概括起来主要由以下几条:
每个版本库有唯一的URL (官方地址),每个用户都从这个地址获取代
码和数据;
获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;
提交必须有网络连接 (非本地版本库);
提交需要授权,如果没有写权限,提交会失败;
提交并非每次都能够成功。如果有其他人先于你提交,会提示“ 改动基于
过时的版本,先更新再提交”… 诸如此类;
冲突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,
后提交,可能遇到麻烦的冲突解决。
Git属于分布式的版本控制系统
自2005年诞生于以来,Git 日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理
大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。
与SVN不同,Git记录版本历史只关心文件数据的整体是否发生变化。Git 并不保存文件内容前后变化的差异数据。实际上,Gi
t 更像是把变化的文件作快照后,记录在一个微型的文件系统中。每次提交更新时,它会纵览一遍所有文件的指纹信息并对
文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git 不会再次保存,而只对上次保存的
快照作一连接。Git 的工作方式如下图所示。
图:1.3 Git保存每次更新时的文件快照
在分布式版本控制系统中,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任
何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。这类系统都可以指定和若干不同的
远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的
协作流程。
另外,因为Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git 中的绝大多数操作都只需要访问本地文件和资
源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络或者断开VPN你就无法做任何事情。但用Git 的话,就算你在
飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程
您可能关注的文档
- SQL 第03篇 Transact-SQL 语言.ppt
- SQL 第3节 Transact-SQL 语言.ppt
- SQL 第05章 数据库的创建及管理.ppt
- SQL 第14章 数据库的备份及恢复.ppt
- sql 数据库 第九篇 SQL Server 2008索引.ppt
- sql 索引作用(超详细).doc
- SQL 项目3-2 数据库的创建及管理.ppt
- SQL_Server_2005_教程_第四节.ppt
- SQL_Server2005 两种方法创建数据库与表.doc
- SQL_Server数据及Excel表的导入导出.doc
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)