🖥️ 第1章 欢迎来到GitHub的世界
1.1 什么是GitHub
GitHub 是为开发者提供 Git 仓库的托管服务。这是一个让开发者与朋友、同事、同学及陌生人共享代码的完美场所。
GitHub 公司与 octocat
-
GitHub 公司总部位于美国旧金山,拥有一个吉祥物 octocat(图1.1),它是一个结合了章鱼和猫的形象。

-
图1.2展示了各种造型的 octocat。

不只是 Git 仓库的托管服务
-
GitHub 不仅提供 Git 仓库的托管服务,还为开发者和团队提供了一系列功能,帮助其高效、高质量地进行代码编写。
-
GitHub 的创始人之一 Chris Wanstrath 曾希望有一个 Git 仓库的托管服务,让自己与朋友轻松分享代码,这成为了 GitHub 诞生的契机。
GitHub 的使用情况
- 截至2013年12月,GitHub 托管的仓库数已超过 1000 万,全球每时每刻都有开发者在使用它。
专栏:GitHub 与 Git 的区别
-
Git 是一个版本控制系统,开发者将源代码存入 Git 仓库中。
-
GitHub 是在网络上提供 Git 仓库托管服务。
理解 Git 是熟练运用 GitHub 的关键。
1.2 使用 GitHub 会带来哪些变化
协作形式变化
-
在 GitHub 出现之前,开发者们需要将版本管理系统、BUG 跟踪系统、代码审查工具、邮件列表、IRC 等工具组合在一起,以实现多人协作。
-
GitHub 的出现为开发者带来了巨大变化,特别是通过 Pull Request 功能,开发者可以轻松更改源代码并公开更改的细节。
Pull Request
-
Pull Request 是开发者在本地对源代码进行更改后,向 GitHub 中托管的 Git 仓库请求合并的功能。

-
开发者可以在 Pull Request 上通过评论交流,例如“修正了 BUG,可以合并一下吗?”等。
针对某行代码进行评论
-
GitHub 的 Pull Request 功能允许开发者对指定的一行代码进行评论,使代码审查工作变得更加轻松。

对特定用户进行评论
-
任务管理和 BUG 报告可以通过 Issue 进行交互。使用“@用户名”的格式,特定用户会收到通知。

1.3 社会化编程
GitHub 与社会化编程
-
GitHub 创造了 社会化编程 的概念,让所有人都平等地拥有更改源代码的权利。
-
在 GitHub 出现之前,只有一小部分人拥有更改源代码的权利,GitHub 的出现为软件开发带来了真正的“民主”。
GitHub 的 LOGO
-
GitHub 曾经使用过带有 SOCIAL CODING 副标题的 LOGO(图1.7),2013年4月起开始使用新的 LOGO(图1.8)。


-
1.4 为什么需要社会化编程
社会化编程的重要性
-
在当今 IT 业界,人才流动性日益增大,GitHub 的出现让程序员能够公开自己的代码,展示自己的实力。
-
GitHub 最大的特征 是“面向人”,它让开发者能够关注到其他人的开发活动,而不仅仅是项目本身。
1.5 GitHub 提供的主要功能
Git 仓库
- GitHub 提供免费的 Git 仓库托管服务,但私有仓库需要支付每月最低 7 美元 的使用费。
Organization
- Organization 账户适合公司使用,可以统一管理账户和权限,并统一支付费用。
Issue
- Issue 功能用于追踪和管理任务或问题,每个功能更改或修正都对应一个 Issue。
Wiki
- Wiki 功能允许多人共同编写文档,支持 GitHub Flavored Markdown(GFM)语法。
Pull Request
- Pull Request 功能允许开发者向别人的仓库提出合并请求,GitHub 提供了对 Pull Request 和源代码前后差别进行讨论的功能。
专栏:GitHub 上受到瞩目的软件
| 名称 | 解说 | GitHub 的 URL |
|---|---|---|
| Ruby on Rails | 在 Ruby 中使用的一种代表性的开源 Web 框架 | KaTeX can only parse string typed expression https://github.com/rails/rails(https://github.com/rails/rails) |
| Node | 最近在 JavaScript 界大受欢迎的平台,又名 Node.js | KaTeX can only parse string typed expression https://github.com/joyent/node(https://github.com/joyent/node) |
| jQuery | 当今所有领域都在应用的 JavaScript 库 | KaTeX can only parse string typed expression https://github.com/jquery/jquery(https://github.com/jquery/jquery) |
| Symfony2 | 通过 PHP 编写的全栈式 Web 框架 | KaTeX can only parse string typed expression https://github.com/symfony/symfony(https://github.com/symfony/symfony) |
| Bootstrap | 可以做出 Twitter 那种界面的组件集 | KaTeX can only parse string typed expression https://github.com/twitter/bootstrap(https://github.com/twitter/bootstrap) |
1.6 小结
本章介绍了 GitHub 及其对社会化编程的影响,后续章节将详细讲解 GitHub 的各项功能。

668

被折叠的 条评论
为什么被折叠?



