Torvalds的Git:软件版本控制的“IT”技术

开发者们非常喜欢分布式系统,尽管Subversion和其他软件还在游戏中

Git,开源分布式软件版本控制系统由Linux创始人Linus Torvalds开创在2005年,它在开发者中获得了真正的动力。但也不要忽视像Mercurial这样的竞争对手和仍然占据主导地位的Apache Subversion平台。

在过去三年中,Eclipse社区对开源开发的调查见证了Git的发展Forrester分析师Jeffrey Hammond表示,今年2009年2009年的2%至近13%。“令人印象深刻,”他说。“这是Eclipse通过Git作为Eclipse项目的支持替代的支持之一。”

[同样出自InfoWorld.com: Paul Krill报道持续集成正在形成在软件开发车间。Peter Wayner调查了另外12个开源编程工具上升.|跟上与InfoWorld的节目的最新消息和见解开发商世界时事通讯.]

在Ruby社区、开源项目和年轻的开发人员中,Git的应用也越来越多,Hammond说。“我们团队开了个玩笑:给我一个24岁以下的开发人员,我就给你一个Git用户。”国际数据公司(IDC)分析师阿尔·希尔瓦(Al Hilwa)也看到了这一增长势头:“它似乎席卷了全球。最近,在开源项目中,Git的使用量明显超过了它的竞争对手。”

Torvalds引用了通过通过分布式版本控制和Git的协助态度的变化。“我认为发生了什么是甚至需要几年的内核人才习惯了整个分布式模型,现在很多人都有早期采用者 - 内部和外部的内部 - 都造成了模特变得更加知名和理解,“他说。“一旦你真的了解一个真正分布式模型就像Git带给桌子的东西,你真的永远不会回到集中式模型。”

Torvalds表示,当比特守手提供分布式源控制模型时,他设计了Git,成为他被描述为“政治化”的东西。他的三个主要设计目标包括支持真正的分布式软件开发,强大的数据安全和强大的性能。

Git相对Subversion和Mercurial的优势“Git之所以能够在开源开发中获得更多的份额,很大程度上是因为它的分布式架构。它是由Linus Torvalds设计的,用于Linux本身,所以这给了它很大的可信度,”IDC的Hilwa说。“分布式和本地命令行界面并不容易,但主要ide有插件。”

Git的传播者Scott Chacon指出:“例如,Android项目是采用Git的真正主要驱动力,因为它使用Git进行贡献。”大型电信公司现在必须使用Git来参与Android的开发,他补充道。

那么git真是太棒了?Chacon说:“你可以拥有多个节点”并推动它们的变化。他是GitHub的零件所有者,为Git提供了大约830,000名用户的托管平台。(他估计要在数百万内的Git用户的数量。)

“你可以使用[Git],即你不能在颠覆中的方式,”这是一个集中式控制系统,Chacon说。例如,开发人员可以脱机工作,并且不必始终连接到服务器。与颠覆相比,GIT“提高了开发人员的效率。分支系统非常优越,它使工作流程是对发展和团队合作的更好。”他指出,它也很快和加密地保护。

Git非常类似于Mercurial分布式版本控制系统,Chacon说,但是Git拥有一个更强大的社区。“Git现在拥有更大的用户基础。GitHub只支持Git, Heroku只支持Git,”他说。(Heroku是云应用程序开发平台去年被Salesforce.com收购。)

鉴于Git的许多优点,Eclipse正在制作它的首选版本控制系统,这是由开发人员和成员启发的移动。“[for]所有新项目,我们强烈建议他们从Git开始,我们鼓励现有的过渡项目,但我们并没有强迫开关的项目,”Eclipse的执行董事Mike Milinkovich说。

他说,Git使得更容易接受社区外部的代码贡献:“只有一些人推动蚀的过程的机制比我们过去的更容易。”以前,开发人员必须在CVS中附加补丁并将其应用。Milinkovich说,Git的分布式性质还简化了拥有多个人和项目的过程和项目的过程。“它使试验更简单,并将这些实验合并在一起进入主线。”

尽管Git发展迅速,但其竞争对手仍然占有相当大的市场份额真实的是,Git采用在三年内增加了六倍,但Eclipse 2011年704个开发人员的调查仍然具有颠覆作为首选的源代码管理系统,其中51.3%的受访者使用它。CVS,也是一个集中式系统,第二次以13.3%的百分点出现。GIT遵循12.8%,而Mercurial被使用4.6%。

Greg Stein,Apache副主席和颠覆项目副总裁,表明Git的上涨可能不是一个深刻的兴趣。“我认为我们所看到的很多东西都是Git有很多心灵分享。[但]我不知道是否必须确实,很多企业开发商店都在切换[到Git],”他说。

他说,Subversion在处理大型二进制文件和大型存储库方面比Git更好。例如,对于大型代码库,Git存储库必须复制到每个工作站,当开发人员必须处理几百gb的代码时,这可能很困难,Stein说。(Chacon承认使用Git来控制非常大的软件资产(如视频)可能会出现问题,但他建议在这种情况下使用Git的资产管理系统。)

Stein说,Subversion的集中式存储库方案需要团队间更紧密的协作,这应该会产生更好的代码。他还指出,即将发布的Subversion 1.8版本将使其更接近Git的功能,包括像Git stash这样的特性,开发人员可以在本地进行更改,然后将其放在一边,以及离线提交,在开发人员脱机时记录完成的更改,并在开发人员重新连接时将更改移动到主存储库。

Matt Mackall,Match Mackall,Mercurial的主要作者和项目领袖说,这是Git和Subversion等开源的Mercurial比不同于Git更相似。“它们都设计用于速度,它们都受到了名为单调的早期系统的设计,因此它们在常见的架构中有很多。”

然而,他说,Mercurial的设计通常更易于使用。“如果您来自CVS或SVN (Subversion的常见简写),它应该看起来相当熟悉。Mercurial获得了一些性能基准测试,Git获得了其他一些性能基准测试。Windows用户告诉我,Mercurial在Windows上的表现要好得多。”Mackall相信这两个项目都有类似的强大的社区,都是规模可观、多样化和活跃的。

git在一卷上,但有很长的占优势Git已经获得了许多重要的追随者,主要采纳者包括Ruby on Rails项目、Debian OS工作和Linux内核。开发商显然很喜欢这个平台。但是,正如Eclipse的调查显示的那样,仍然有很多其他技术的用户,比如Mercurial和Subversion。

Git是否能够保持足够长的发展势头,并在其他技术出现之前成为行业标准,还有待观察。但至少就目前而言,Git进展顺利。

这个故事,”Torvalds的Git:软件版本控制的“IT”技术,最初发表于InfoWorld.com.遵循最新的发展应用程序开发在InfoWorld.com上。欲了解商业技术新闻的最新发展,敬请关注Twitter上的Infoworld.com.

阅读更多有关应用程序开发的内容在“资讯世界”的应用发展频道。

这个故事,“Torvalds的Git:软件版本控制的‘it’技术”最初是由信息世界

加入网络世界社区有个足球雷竞技appFacebookLinkedIn评论是最重要的主题。
相关:

版权©2011Raybet2

IT薪水调查:结果已经出来了