是什么让GitHub如此成功?GitHub有什么魔力?
只用Git。
GitHub只支持Git格式的版本库托管,而不像其他开源项目托管平台还对CVS、SVN、Hg等格式的版本库进行托管。GitHub的哲学很简单,既然Git是最好的版本控制系统之一(对于喜欢GitHub的人没有之一),没有必要为兼顾其他版本控制系统而牺牲Git某些独有特性。因此没有支持其他版本控制系统的历史负担,是GitHub成功的要素之一。
只用Git并不是说GitHub完全无视其他版本控制系统的使用者,相反,GitHub面向SVN(Subversion)用户和Hg(Mercurial)用户开发了接口,让这些用户可以使用SVN或Hg的客户端工具访问Git版本库。
对Git的完整支持。
相比其他开源项目托管平台,GitHub对Git版本库提供了完整的协议支持,支持HTTP智能协议、Git-daemon、SSH协议。相比只支持HTTP协议的GoogleCode,GitHub通过SSH协议可以实现版本库访问的无口令认证。
无处不在的Git。
除了在版本库托管上使用Git,Git还被应用到GitHub更多的领域。维基使用Git,可以通过克隆维基所在的版本库,线下修改维基。在线粘贴信息的Gist网站 [1] 使用Git,记录变更历史。在Jekyll应用的帮助下,可以用Git版本库维护个人网站和博客。
在线编辑文件。
GitHub提供了在线编辑文件的功能,即使不熟悉Git的用户也可以直接修改版本库里的文件。
社交编程。
将社交网络引入项目托管平台是GitHub的创举。用户可以关注项目、关注其他用户进而了解项目和开发者动态。项目的派生(Fork)和拉拽请求(Pull Request)构成GitHub最独具一格的工作模式。对提交代码的逐行评注及Pull Request构成了GitHub特色的代码审核。
商业上的成功。
GitHub通过私有版本库托管、面向企业的版本库托管、人员招聘等付费服务获得了商业上的成功,这种成功使得GitHub不必以页面中嵌入广告的方式维持运营,最大的受益者还是用户。
关注细节。
GitHub网站采用了Ruby on Rails的架构,在Web设计中运用了大量的JavaScript、AJAX、HTML5等技术,支持使用了Markdown等标记语言的文件自动渲染和显示,等等。关注细节使得GitHub成为了项目托管领域的后起之秀。
| [1] | https://gist.github.com/ |