何谓 GitHub
GitHub 是一个基于 git 的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开。一旦你开始使用 GitHub,那么恭喜你,你在 GitHub 上托管的程序会有一个大家耳熟能详的名字,叫做“开源软件”!
GitHub 由 Chris Wanstrath, PJ Hyett 与 Tom Preston-Werner 三位开发者在 2008 年 4 月创办。迄今拥有 59 名全职员工,主要提供基于 git 的版本托管服务。
目前看来,GitHub 这场冒险已经胜出。根据来自维基百科关于 GitHub 的描述,我们可以形象地看出 GitHub 的增长速度:
image_1cavoqn781n2fvru1fpd1n6m1onp9.png-94kB今天,GitHub 已是:
-
一个拥有 143 万开发者的社区。其中不乏 Linux 发明者 Torvalds 这样的顶级黑客,以及 Rails 创始人 DHH 这样的年轻极客。
-
这个星球上最流行的开源托管服务。目前已托管 431 万 git 项目,不仅越来越多知名开源项目迁入 GitHub,比如 Ruby on Rails、jQuery、Ruby、Erlang/OTP;近三年流行的开源库往往在 GitHub 首发,例如:BootStrap、Node.js、CoffeScript 等。
-
Alexa 全球排名 414 的网站。
下载其他人的程序
要想下载其他人的程序,可以直接访问 GitHub 网站,无需注册。当然前提是你得知道源码的地址,比如我的一个开源项目 AhkScriptManager,其地址为 https://github.com/morgengc/AhkScriptManager,格式为 https://github.com/用户名/项目名
。
直接访问网站,按下图所示即可下载软件。
image_1cavq2i821ve42voej117npt8c1n.png-141.6kB通常每个项目都会有一个 README.md
文件,它会自动渲染到项目主页,描述了这个项目的基本情况,包括安装使用方法等。这个文档采用的语法叫做 Markdown,是目前互联网上最为流行的文档格式。实际上,本文也是用 Markdown 语法编写的,只不过最终被渲染为了一个网页呈现给大家。
GitHub 是一个十分丰富的代码库,程序界流行一种说法,叫做“不要重复造轮子”。确实是这样,几乎你能想到的,别人早就想到了,而且实现了,更重要的是别人的实现比你自己的实现要高明得多。所以,着手写程序之前,可以尝试着先在 GitHub 上找一找有没有现成的“轮子”。很多时候,你会找到非常多的轮子,这个时候考验你的不是能不能找到轮子,而是选择哪一个轮子。
image_1cavqnbmqt9t14p1196srbf1krr2a.png-6.3kB通常,可以查看项目主页上的标记以判断项目的流行度,有三个重要指标:
- 第一个叫做“Watch”,它表示有多少用户正在关注这个项目,当作者更新了项目以后,关注者可以收到一封邮件,看到作者做了哪些修改;
- 第二个叫做“Star”,它表示有多少用户给作者打了 Call,表示一种赞赏;
- 第三个叫做“Fork”,它表示有多少用户克隆了这个项目,GitHub 允许并鼓励大家克隆代码,你可以对克隆的代码做任何修改,并且可以将你新加的功能提交给原作者,如果原作者乐意,他可能会接受你的提交,并且将这些新功能集成到原始项目中,这体现了开源协作的精神。
当然,我这个项目是一个非常小众的编程语言 AutoHotkey 编写的,几个指标都比较低。 :)
创建 GitHub 账户
没有 GitHub 账户,你只能下载其他人的代码,你无法与各个开源软件的作者互动,软件作者也无法知道你是他的一个用户。更关键的是,你不能开源你自己的项目!因此,是时候给自己注册一个用户了。
- 打开 GitHub 官网。
- 点击绿色按钮
Sign up for GitHub
,填写用户名,邮件地址和密码。
注意:用户名只能包含字母和"-"字符;密码至少包含一个字母,一个数字和七个字符
-
点击绿色按钮
image_1cavrug5ilovg74kff1pnp1cfm2n.png-81.8kBCreate an account
,创建账号。
-
在下一个页面点击绿色按钮
image_1cavs0dscp25k45m9a1ohjf3h34.png-109.4kBFinish sign
完成注册。
现在,你的 GitHub 账号就创建好了。请先在你的注册邮箱中完成邮件验证,然后就可以登录 GitHub 了。
注意:G.F.W 曾经长时间屏蔽 GitHub,不过近几年没有屏蔽了,但网站渲染速度有时候较慢。如果长时间访问缓慢,可以参考 GitHub 访问慢解决办法 这篇文章。
创建你的第一个 GitHub 项目
-
登录 GitHub 后,点击右上方
image_1cavt27vf1t3htgrp6q4hapeb1g.png-38.8kB+
按钮,再点击New Repository
,如图示:
-
然后输入 Repository 名称,以及仓库描述,选择开源协议,如图示:
image_1cavt160k13qr19dn1b3vj4moimm.png-93.6kB -
点击
image_1cavt4saci271nbn1ho31m54qt61t.png-45.8kBCreate repository
后便创建仓库成功:
接下来,就可以在 GitHub 上编辑 README.md
,描述你这个项目想做点什么了。顺便花十分钟学一学 Markdown 语法。
关于开源协议,可以不选,推荐选 MIT。下面这张图用于快速区分各种开源协议的区别:
free_software_licenses.png-114.7kB向仓库中添加代码
GitHub 默认使用 git 工具进行代码管理。对于上一代程序员来说,很多使用 SVN,也是支持的。如果 git 和 SVN 都不熟悉,建议使用 git。
SVN
如果熟悉 SVN,可以不使用 git。如果不熟悉,可以跳过这一节,直接看 git。首先需要找到项目的 SVN 地址,我还是拿我的项目举例:
image_1cavtm4cahb8q9p1nslcr6dqnl.png-140.6kB全文拷贝红框内的内容,为:
https://github.com/morgengc/AhkScriptManager.git
修改后缀 .git
为 /trunk
:
https://github.com/morgengc/AhkScriptManager/trunk
将其粘贴到 SVN Checkout 中即可将项目下载下来。之后的操作就跟普通的 SVN 完全一样了。
image_1cavtq9m11qtg1hfg1rfm4m11fb12.png-39.9kBgit
git 是一个分布式版本控制工具。因为程序编写过程中必然会有大量的修改,在重要修改节点用 git 提交,可以对代码进行追溯,这样就实现了代码的版本控制。
在下图中,Remote 代表 GitHub 网站,Repository 代表本地的仓库,而 workspace 则代表受 git 管理的代码目录。我们的修改发生在 workspace 中,小修改提交到本地仓库,重要修改提交到 GitHub 网站。连线上标记了重要的 git 指令。
image_1cavukj4d8jr15c61r8fpg218gj2f.png-66.8kB关于 git 工具的使用,请参见 这篇文章,作者已经描述得非常清楚了,我就不再重复了。
关于 git 的林林种种细节,建议参考 官方文档。
网友评论