Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion 01-explore-github/010-what-is-github.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Git等分布式版本控制系统的出现,彻底颠覆了原有代码管理

使用Git做版本控制(如图1-3所示),核心开发团队非常“高兴”,因为他们和共享版本库之间不必一直保持连接状态,诸如查看日志、提交、创建分支等几乎全部操作都(脱离网络)在本地的版本库中完成。项目贡献者(非核心成员)也不再那么沮丧,因为版本库人人皆可更改(当然是对本地版本库而言)。稍微让贡献者感到困难的就是如何将自己的改动被核心开发团队所了解并接纳。Git提供了多种途径,一个方法是先用 ``git format-patch`` 命令将本地提交转换为补丁文件或补丁文件序列,再通过邮件发送给核心开发团队。另外一个办法就是搭建一个自己专有的共享版本库,通过邮件创建一个拉拽请求(Pull Request),让核心团队的开发者到自己的版本库来抓取(Pull)。

GitHub的出现极大地改善了开源项目的生态环境,无论是项目的核心开发团队,还是普通的项目贡献者都工作得非常“愉快”。创建项目变得非常轻松,创建者只需在GitHub上点击一下鼠标即可创建一个新版本库,组件项目核心团队也很容易。核心团队使用Git命令操作共享版本库,如图1-4所示。
GitHub的出现极大地改善了开源项目的生态环境,无论是项目的核心开发团队,还是普通的项目贡献者都工作得非常“愉快”。创建项目变得非常轻松,创建者只需在GitHub上点击一下鼠标即可创建一个新版本库,组建项目核心团队也很容易。核心团队使用Git命令操作共享版本库,如图1-4所示。

.. figure:: /images/explore-github/github-model.png
:scale: 100
Expand Down
22 changes: 11 additions & 11 deletions 02-join-github/010-account-setup.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
创建GitHub账号
创建GitHub帐号
===============

注册GitHub账号,只要点击导航条中的“Pricing and Signup”,或者点击首页中那个大大的“Plans,Pricing and Signup”按钮,即进入收费方案介绍及注册页面。
注册GitHub帐号,只要点击导航条中的“Pricing and Signup”,或者点击首页中那个大大的“Plans,Pricing and Signup”按钮,即进入收费方案介绍及注册页面。

收费?不必担心,开源软件托管是GitHub的基石,对于开源项目的版本库(即非私有版本库)的托管,GitHub是免费的。在收费方案及注册页面中,最上面的就是针对于开源的免费托管方案,如图2-1所示。

Expand All @@ -15,9 +15,9 @@
.. figure:: /images/join-github/signup.png
:scale: 100

图2-2:账号注册
图2-2:帐号注册

GitHub的注册页面非常简洁,只有登录ID,邮件地址和口令需要输入。要注意的是每个邮件地址只能注册一次。注册完毕即以新注册的账号自动登录,图2-3是以新注册的gotgithub用户登录后的首页。在首页右上方的导航条,可以看到当前登录用户的名称,如图2-3中显示为gotgithub。在登录用户名称前显示用户照片,因为尚未设置所以显示为缺省图片——GitHub吉祥物Octocat的剪影。点击导航条中的“Account Settings”,对账号进行进一步设置
GitHub的注册页面非常简洁,只有登录ID,邮件地址和口令需要输入。要注意的是每个邮件地址只能注册一次。注册完毕即以新注册的帐号自动登录,图2-3是以新注册的gotgithub用户登录后的首页。在首页右上方的导航条,可以看到当前登录用户的名称,如图2-3中显示为gotgithub。在登录用户名称前显示用户照片,因为尚未设置所以显示为缺省图片——GitHub吉祥物Octocat的剪影。点击导航条中的“Account Settings”,对帐号进行进一步设置

.. figure:: /images/join-github/loggedin.png
:scale: 100
Expand All @@ -31,18 +31,18 @@ GitHub的注册页面非常简洁,只有登录ID,邮件地址和口令需要
.. figure:: /images/join-github/setting-profile.png
:scale: 100

图2-4:账户设置页
图2-4:帐户设置页

点击菜单中的“Account Admin”,可以更改口令、查看API Token、修改用户名,以及删除自身账号,如图2-5所示。
点击菜单中的“Account Admin”,可以更改口令、查看API Token、修改用户名,以及删除自身帐号,如图2-5所示。

.. figure:: /images/join-github/setting-admin.png
:scale: 100

图2-5:账户管理
图2-5:帐户管理

其中API Token是和用户口令相关的密钥,当用户口令更改时API Token也随之更改。GitHub的某些应用会使用API Token进行身份认证,从而避免直接使用用户口令造成泄露的风险。API Token若泄露的危害要远远小于口令泄露,这因为API Token不能用于登录GitHub网站等,而且一旦API Token泄露可以很容易通过更改口令的方式更换API Token。

点击菜单中的“Email Addresses”,可以添加和删除邮件地址,如图2-6所示。GitHub允许为一个账号绑定多个邮件地址,以便能够将Git版本库中的提交(提交者以 "用户名 <邮件地址>" 的格式给出)正确对应到GitHub账户
点击菜单中的“Email Addresses”,可以添加和删除邮件地址,如图2-6所示。GitHub允许为一个帐号绑定多个邮件地址,以便能够将Git版本库中的提交(提交者以 "用户名 <邮件地址>" 的格式给出)正确对应到GitHub帐户

.. figure:: /images/join-github/setting-email.png
:scale: 100
Expand All @@ -56,7 +56,7 @@ GitHub为托管的Git版本库提供SSH协议支持,即用户可以以公钥
$ ssh -T git@github.com
Permission denied (publickey).

上面的示例显示登录失败,这是因为我们尚未在GitHub账户中正确设置公钥认证。图2-7显示的是GitHub的SSH公钥设置界面。
上面的示例显示登录失败,这是因为我们尚未在GitHub帐户中正确设置公钥认证。图2-7显示的是GitHub的SSH公钥设置界面。

.. figure:: /images/join-github/setting-ssh.png
:scale: 100
Expand All @@ -73,7 +73,7 @@ GitHub的SSH服务支持OpenSSH格式的公钥认证,可以通过Linux、Mac O

然后根据提示在用户主目录下的 .ssh 目录中创建默认的公钥/私钥对文件,其中 ``~/.ssh/id_rsa`` 是私钥文件, ``~/.ssh/id_rsa.pub`` 是公钥文件。注意私钥文件要严加保护,不能泄露给任何人,如果在执行 ``ssh-keygen`` 命令时选择了使用口令保护私钥,私钥文件是经过加密的。公钥文件 ``~/.ssh/id_rsa.pub`` 则可以放心地公开给任何人。

也可以用 ``ssh-keygen`` 命令以不同的名称创建多个公钥,当拥有多个GitHub账号时,非常重要。这是因为虽然一个GitHub账号允许使用多个不同的SSH公钥,但反过来,一个SSH公钥只能对应于一个GitHub账号。下面的命令在 ``~/.ssh`` 目录下创建名为 ``gotgithub`` 的私钥和名为 ``gotgithub.pub`` 的公钥文件。
也可以用 ``ssh-keygen`` 命令以不同的名称创建多个公钥,当拥有多个GitHub帐号时,非常重要。这是因为虽然一个GitHub帐号允许使用多个不同的SSH公钥,但反过来,一个SSH公钥只能对应于一个GitHub帐号。下面的命令在 ``~/.ssh`` 目录下创建名为 ``gotgithub`` 的私钥和名为 ``gotgithub.pub`` 的公钥文件。

::

Expand Down Expand Up @@ -124,7 +124,7 @@ GitHub的SSH服务支持OpenSSH格式的公钥认证,可以通过Linux、Mac O
Hi gotgithub! You've successfully authenticated, but GitHub does not provide shell access.
...

账号设置的最后一项是向GitHub提供你的求职信息。GitHub作为一个优秀程序员的聚集地,已经成为重要的IT人才招聘途径,如果你需要找工作的话,提供简历并打开“Available for hire”选项,如图2-9所示。
帐号设置的最后一项是向GitHub提供你的求职信息。GitHub作为一个优秀程序员的聚集地,已经成为重要的IT人才招聘途径,如果你需要找工作的话,提供简历并打开“Available for hire”选项,如图2-9所示。

.. figure:: /images/join-github/setting-job.png
:scale: 100
Expand Down
6 changes: 3 additions & 3 deletions 02-join-github/020-browse-repo.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
浏览托管项目
===============

GitHub的账户已经建立好了,在建立自己的项目托管之前,看看别人是怎么做的。在GitHub中搜索字符串“GotGit”,可以搜索到我建立的一个项目,项目地址是: https://github.com/gotgit/gotgit/ 。由上至下,GotGit项目首页可以分为如下几个区域。
GitHub的帐户已经建立好了,在建立自己的项目托管之前,看看别人是怎么做的。在GitHub中搜索字符串“GotGit”,可以搜索到我建立的一个项目,项目地址是: https://github.com/gotgit/gotgit/ 。由上至下,GotGit项目首页可以分为如下几个区域。

* 区域一:项目概要介绍及版本库URL等。

项目GotGit托管在组织账号 gotgit 之下 [#]_ ,并且当前有4个关注用户和2个项目分支。最下面一行显示版本库的访问地址,只显示了HTTP和Git-daemon两个协议的URL地址,这是因为当前用户对该版本库只具有只读权限,因此没有显示SSH协议的URL地址。
项目GotGit托管在组织帐号 gotgit 之下 [#]_ ,并且当前有4个关注用户和2个项目分支。最下面一行显示版本库的访问地址,只显示了HTTP和Git-daemon两个协议的URL地址,这是因为当前用户对该版本库只具有只读权限,因此没有显示SSH协议的URL地址。

.. figure:: /images/join-github/gotgit-repo-tree-1.png
:scale: 100
Expand Down Expand Up @@ -151,7 +151,7 @@ GitHub还为项目提供图像化报表分析。图2-25是GotGit项目中用到

----

.. [#] 项目 gotgit 最早由用户 ossxp-com 创建,现已转移到组织 gotgit 账号之下
.. [#] 项目 gotgit 最早由用户 ossxp-com 创建,现已转移到组织 gotgit 帐号之下
.. [#] https://github.com/blog/809-git-dumb-http-transport-to-be-turned-off-in-90-days
.. [#] 短格式URL,实际对应于: https://github.com/cameronmcefee/Image-Diff-View-Modes/commit/8e95f7
.. [#] https://github.com/blog/621-bye-bye-flash-network-graph-is-now-canvas
Expand Down