SVN与Git比较

SVN与Git比较

ID:28508368

大小:570.50 KB

页数:32页

时间:2018-12-11

SVN与Git比较_第1页
SVN与Git比较_第2页
SVN与Git比较_第3页
SVN与Git比较_第4页
SVN与Git比较_第5页
资源描述:

《SVN与Git比较》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、sSVN与Git比较s摘要Svn是目前得到大多数人认可,使用得最多的版本控制管理工具,而Git的优势在于易于本地增加分支和分布式的特性,可离线提交,解决了异地团队协同开发等svn不能解决的问题。本文就这两种版本控制工具的异同点作详细介绍。s目录摘要:1一、集中式vs分布式21.Subversion属于集中式的版本控制系统22.Git属于分布式的版本控制系统4二、版本库与工作区61.SVN的版本库和工作区是分离的72.Git的版本库和工作区如影随形7三、全局版本号和全球版本号81.SVN与Git版本

2、号比较9四、部分检出91.SVN的部分检出102.Git的检出10五、更新和提交101.更新操作112.SVN中的commit命令113.Git中的暂存区域(stage)11六、分支和里程碑的实现141.Subversion的分支/里程碑142.Git的轻量级分支和里程碑143.多分支间的切换15七、分支合并161.SVN的分支合并162.Git的分支合并16八、撤消操作191.提交的撤销192.提交说明的修改203.修改和重构历史提交20九、权限管理21十、客户端操作221.TortoiseSV

3、N222.Git客户端23十一、Svn与Git协作261.gitsvn27s一、集中式vs分布式两种不同类型的版本控制系统:集中式和分布式1.Subversion属于集中式的版本控制系统集中式的版本控制系统都有一个单一的集中管理的服务器,保存所有文件的修订版本,而协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。多年以来,这已成为版本控制系统的标准做法。图:1.1集中化的版本控制系统这种做法带来了许多好处,特别是相较于老式的本地VCS来说。现在,每个人都可以一定程度上看到项目中

4、的其他人正在做些什么。而管理员也可以轻松掌控每个开发者的权限。事分两面,有好有坏。这么做最显而易见的缺点是中央服务器的单点故障。若是宕机一小时,那么在这一小时内,谁都无法提交更新、还原、对比等s,也就无法协同工作。如果中央服务器的磁盘发生故障,并且没做过备份或者备份得不够及时的话,还会有丢失数据的风险。最坏的情况是彻底丢失整个项目的所有历史更改记录,被客户端提取出来的某些快照数据除外,但这样的话依然是个问题,你不能保证所有的数据都已经有人提取出来。Subversion原理上只关心文件内容的具体差异

5、。每次记录有哪些文件作了更新,以及都更新了哪些行的什么内容。如下图所示:图:1.2集中式版本控制系统记录文件内容的差异Subversion的特点概括起来主要由以下几条:·每个版本库有唯一的URL(官方地址),每个用户都从这个地址获取代码和数据;·获取代码的更新,也只能连接到这个唯一的版本库,同步以取得最新数据;·提交必须有网络连接(非本地版本库);·提交需要授权,如果没有写权限,提交会失败;·提交并非每次都能够成功。如果有其他人先于你提交,会提示“改动基于过时的版本,先更新再提交”…诸如此类;·冲

6、突解决是一个提交速度的竞赛:手快者,先提交,平安无事;手慢者,后提交,可能遇到麻烦的冲突解决。1.Git属于分布式的版本控制系统自2005年诞生于以来,Git日臻成熟完善,在高度易用的同时,仍然保留着初期设定的目标。它的速度飞快,极其适合管理大项目,它还有着令人难以置信的非线性分支管理系统,可以应付各种复杂的项目开发需求。与SVN不同,Git记录版本历史只关心文件数据的整体是否发生变化。Gits并不保存文件内容前后变化的差异数据。实际上,Git更像是把变化的文件作快照后,记录在一个微型的文件系统中

7、。每次提交更新时,它会纵览一遍所有文件的指纹信息并对文件作一快照,然后保存一个指向这次快照的索引。为提高性能,若文件没有变化,Git不会再次保存,而只对上次保存的快照作一连接。Git的工作方式如下图所示。图:1.3Git保存每次更新时的文件快照在分布式版本控制系统中,客户端并不只提取最新版本的文件快照,而是把原始的代码仓库完整地镜像下来。这么一来,任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一

8、个项目中,分别和不同工作小组的人相互协作。你可以根据需要设定不同的协作流程。另外,因为Git在本地磁盘上就保存着所有有关当前项目的历史更新,并且Git中的绝大多数操作都只需要访问本地文件和资源,不用连网,所以处理起来速度飞快。用SVN的话,没有网络或者断开VPN你就无法做任何事情。但用Git的话,就算你在飞机或者火车上,都可以非常愉快地频繁提交更新,等到了有网络的时候再上传到远程的镜像仓库。换作其他版本控制系统,这么做几乎不可能,抑或是非常麻烦。简略的说,Git具有以下特点:·Gi

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。