是什么让GitHub如此成功?GitHub有什么魔力?
1. 只用Git。
GitHub只支持Git格式的版本库托管,而不像其他开源项目托管平台还对CVS、SVN、Hg等格式的版本库进行托管。GitHub的哲学很简单,既然Git是最好的版本控制系统之一(对于很多喜欢Git和GitHub的人没有之一),没有必要为兼顾其他版本控制系统而牺牲Git某些独有特性。因此没有支持其他版本控制系统的历史负担,是GitHub成功的要素之一。
只用Git并不是说GitHub完全无视其他版本控制系统的使用者,相反,GitHub面向SVN(Subversion)用户和Hg(Mercurial)用户开发了接口,让这些用户可以使用SVN或Hg的客户端工具访问Git版本库。
2. 对Git的完整支持。
相比其他开源项目托管平台,GitHub对Git版本库提供了完整的协议支持,支持HTTP智能协议、Git-daemon、SSH协议。相比只支持HTTP协议的GoogleCode,GitHub通过SSH协议可以实现版本库访问的无口令认证(实际上使用HTTP协议也可以免口令输入。即通过文件`~/.netrc`写入HTTP认证的明文口令。具体文件格式参见ftp命令MAN手册中相关介绍)。
3. 无处不在的Git。
除了在版本库托管上使用Git,Git还被GitHub应用到更多领域。维基使用Git,可以通过克隆维基所在的版本库,离线修改维基;在线粘贴数据的Gist网站[[2]](https://gist.github.com/)使用Git,记录变更历史;以及在Jekyll应用的帮助下,用Git版本库维护个人网站和博客等。
4. 在线编辑文件。
GitHub提供了在线编辑文件的功能,不熟悉Git的用户也可以直接通过浏览器修改版本库里的文件。
5. 社交编程。
将社交网络引入项目托管平台是GitHub的创举。用户可以关注项目、关注其他用户进而了解项目和开发者动态。项目的派生(Fork)和拉拽请求(Pull Request)构成GitHub最独具一格的工作模式。对提交代码的逐行评注及Pull Request构成了GitHub特色的代码审核。
6. 商业上的成功。
GitHub通过私有版本库托管、面向企业的版本库托管和项目管理平台、人员招聘等付费服务获得了商业上的成功,这种成功使得GitHub不必以页面中嵌入广告的方式维持运营,最大的受益者还是用户。
7. 关注细节。
GitHub网站采用了Ruby on Rails架构,在Web设计中运用了大量的JavaScript、AJAX、HTML5等技术,支持对使用Markdown等标记语言的内容进行渲染和显示等。关注细节使得GitHub成为了项目托管领域的后起之秀。
- 前言
- 1. 探索GitHub
- 1.1. 什么是GitHub
- 1.2. GitHub亮点
- 1.3. 探索GitHub
- 2. 加入GitHub
- 2.1. 创建GitHub账号
- 2.2. 浏览托管项目
- 2.3. 社交网络
- 3. 项目托管
- 3.1. 创建新项目
- 3.2. 操作版本库
- 3.3. 公钥认证管理
- 3.4. 版本库钩子扩展
- 3.5. 建立主页
- 4. 工作协同
- 4.1. Fork + Pull模式
- 4.2. 共享版本库
- 4.3. 组织和团队
- 4.4. 代码评注
- 4.5. 缺陷跟踪
- 4.6. 维基
- 5. 付费服务
- 5.1. GitHub收费方案
- 5.2. GitHub企业版
- 6. GitHub副产品
- 6.1. GitHub:Gist
- 6.2. 其他版本控制工具支持
- 6.3. 客户端工具
- 6.4. 其他
- 7. 附录:轻量级标记语言
- 贡献者列表