# 賬戶的創建和配置
你所需要做的第一件事是創建一個免費賬戶。直接訪問 [*https://github.com*](https://github.com),選擇一個未被占用的用戶名,提供一個電子郵件地址和密碼,點擊寫著“Sign up for GitHub”的綠色大按鈕即可。

Figure 6-1. GitHub 注冊表單。
你將看到的下一個頁面是升級計劃的價格頁面,目前我們可以直接忽略這個頁面。GitHub 會給你提供的郵件地址發送一封驗證郵件。盡快到你的郵箱進行驗證,這是非常重要的(我們會在后面了解到這點)。
GitHub 為免費賬戶提供了完整功能,限制是你的項目都將被完全公開(每個人都具有讀權限)。GitHub 的付費計劃可以讓你擁有一定數目的私有項目,不過本書將不涉及這部分內容。
點擊屏幕左上角的 Octocat 圖標,你將來到控制面板頁面。現在,你已經做好了使用 GitHub 的準備工作。
### SSH 訪問
現在,你完全可以使用 `https://` 協議,通過你剛剛創建的用戶名和密碼訪問 Git 版本庫。但是,如果僅僅克隆公有項目,你甚至不需要注冊——剛剛我們創建的賬戶是為了以后 fork 其它項目,以及推送我們自己的修改。
如果你習慣使用 SSH 遠程,你需要配置一個公鑰。(如果你沒有公鑰,參考 [“生成 SSH 公鑰”](#)。)使用窗口右上角的鏈接打開你的賬戶設置:

Figure 6-2. “Account settings”鏈接。
然后在左側選擇“SSH keys”部分。

Figure 6-3. “SSH keys”鏈接。
在這個頁面點擊“`Add an SSH key`”按鈕,給你的公鑰起一個名字,將你的`~/.ssh/id_rsa.pub`(或者自定義的其它名字)公鑰文件的內容粘貼到文本區,然后點擊“Add key”。
確保給你的 SSH 密鑰起一個能夠記得住的名字。你可以為每一個密鑰起名字(例如,“我的筆記本電腦”或者“工作賬戶”等),以便以后需要吊銷密鑰時能夠方便地區分。
### 頭像
下一步,如果愿意的話,你可以將生成的頭像換成你喜歡的圖片。首先,來到“Profile”標簽頁(在“SSH Keys”標簽頁上方),點擊“Upload new picture”。

Figure 6-4. “Profile”鏈接。
我們選擇了本地磁盤上的一個 Git 圖標,上傳之后還可以對其進行裁剪。

Figure 6-5. 裁剪頭像
現在,在網站任意有你參與的位置,人們都可以在你的用戶名旁邊看到你的頭像。
如果你已經把頭像上傳到了流行的 Gravatar 托管服務(Wordpress 賬戶經常使用),默認就會使用這個頭像,因此,你就不需要進行這一步驟了。
### 郵件地址
GitHub 使用用戶郵件地址區分 Git 提交。如果你在自己的提交中使用了多個郵件地址,希望 GitHub 可以正確地將它們連接起來,你需要在管理頁面的 Emails 部分添加你擁有的所有郵箱地址。

Figure 6-6. 添加郵件地址
在 [Figure?6-6](#) 中我們可以看到一些不同的狀態。頂部的地址是通過驗證的,并且被設置為主要地址,這意味著該地址會接收到所有的通知和回復。第二個地址是通過驗證的,如果愿意的話,可以將其設置為主要地址。最后一個地址是未通過驗證的,這意味著你不能將其設置為主要地址。當 GitHub 發現任意版本庫中的任意提交信息包含了這些地址,它就會將其鏈接到你的賬戶。
### 兩步驗證
最后,為了額外的安全性,你絕對應當設置兩步驗證,簡寫為 “2FA”。兩步驗證是一種用于降低因你的密碼被盜而帶來的賬戶風險的驗證機制,現在已經變得越來越流行。開啟兩步驗證,GitHub 會要求你用兩種不同的驗證方法,這樣,即使其中一個被攻破,攻擊者也不能訪問你的賬戶。
你可以在 Account settings 頁面的 Security 標簽頁中找到 Two-factor Authentication 設置。

Figure 6-7. Security 標簽頁中的 2FA
點擊“Set up two-factor authentication”按鈕,會跳轉到設置頁面。該頁面允許你選擇是要在登錄時使用手機 app 生成輔助碼(一種“基于時間的一次性密碼”),還是要 GitHub 通過 SMS 發送輔助碼。
選擇合適的方法后,按照提示步驟設置 2FA,你的賬戶會變得更安全,每次登錄 GitHub 時都需要提供除密碼以外的輔助碼。
- 前言
- Scott Chacon 序
- Ben Straub 序
- 獻辭
- 貢獻者
- 引言
- 1. 起步
- 1.1 關于版本控制
- 1.2 Git 簡史
- 1.3 Git 基礎
- 1.4 命令行
- 1.5 安裝 Git
- 1.6 初次運行 Git 前的配置
- 1.7 獲取幫助
- 1.8 總結
- 2. Git 基礎
- 2.1 獲取 Git 倉庫
- 2.2 記錄每次更新到倉庫
- 2.3 查看提交歷史
- 2.4 撤消操作
- 2.5 遠程倉庫的使用
- 2.6 打標簽
- 2.7 Git 別名
- 2.8 總結
- 3. Git 分支
- 3.1 分支簡介
- 3.2 分支的新建與合并
- 3.3 分支管理
- 3.4 分支開發工作流
- 3.5 遠程分支
- 3.6 變基
- 3.7 總結
- 4. 服務器上的 Git
- 4.1 協議
- 4.2 在服務器上搭建 Git
- 4.3 生成 SSH 公鑰
- 4.4 配置服務器
- 4.5 Git 守護進程
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方托管的選擇
- 4.10 總結
- 5. 分布式 Git
- 5.1 分布式工作流程
- 5.2 向一個項目貢獻
- 5.3 維護項目
- 5.4 總結
- 6. GitHub
- 6.1 賬戶的創建和配置
- 6.2 對項目做出貢獻
- 6.3 維護項目
- 6.4 管理組織
- 6.5 腳本 GitHub
- 6.6 總結
- 7. Git 工具
- 7.1 選擇修訂版本
- 7.2 交互式暫存
- 7.3 儲藏與清理
- 7.4 簽署工作
- 7.5 搜索
- 7.6 重寫歷史
- 7.7 重置揭密
- 7.8 高級合并
- 7.9 Rerere
- 7.10 使用 Git 調試
- 7.11 子模塊
- 7.12 打包
- 7.13 替換
- 7.14 憑證存儲
- 7.15 總結
- 8. 自定義 Git
- 8.1 配置 Git
- 8.2 Git 屬性
- 8.3 Git 鉤子
- 8.4 使用強制策略的一個例子
- 8.5 總結
- 9. Git 與其他系統
- 9.1 作為客戶端的 Git
- 9.2 遷移到 Git
- 9.3 總結
- 10. Git 內部原理
- 10.1 底層命令和高層命令
- 10.2 Git 對象
- 10.3 Git 引用
- 10.4 包文件
- 10.5 引用規格
- 10.6 傳輸協議
- 10.7 維護與數據恢復
- 10.8 環境變量
- 10.9 總結
- A. 其它環境中的 Git
- A1.1 圖形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Eclipse 中的 Git
- A1.4 Bash 中的 Git
- A1.5 Zsh 中的 Git
- A1.6 Powershell 中的 Git
- A1.7 總結
- B. 將 Git 嵌入你的應用
- A2.1 命令行 Git 方式
- A2.2 Libgit2
- A2.3 JGit
- C. Git 命令
- A3.1 設置與配置
- A3.2 獲取與創建項目
- A3.3 快照基礎
- A3.4 分支與合并
- A3.5 項目分享與更新
- A3.6 檢查與比較
- A3.7 調試
- A3.8 補丁
- A3.9 郵件
- A3.10 外部系統
- A3.11 管理
- A3.12 底層命令