-
1. 開始
-
2. Git 基礎
- 2.1 取得一個 Git 倉儲
- 2.2 紀錄變更到版本庫中
- 2.3 檢視提交的歷史記錄
- 2.4 復原
- 2.5 與遠端協同工作
- 2.6 標籤
- 2.7 Git Aliases
- 2.8 總結
-
3. 使用 Git 分支
-
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 第3方 Git 託管方案
- 4.10 總結
-
5. 分散式的 Git
-
6. GitHub
- 6.1 建立帳戶及設定
- 6.2 參與一個專案
- 6.3 維護專案
- 6.4 Managing an organization
- 6.5 Scripting GitHub
- 6.6 總結
-
7. Git 工具
- 7.1 Revision Selection
- 7.2 Interactive Staging
- 7.3 Stashing and Cleaning
- 7.4 Signing Your Work
- 7.5 Searching
- 7.6 Rewriting History
- 7.7 Reset Demystified
- 7.8 Advanced Merging
- 7.9 Rerere
- 7.10 Debugging with Git
- 7.11 Submodules
- 7.12 Bundling
- 7.13 Replace
- 7.14 Credential Storage
- 7.15 總結
-
8. Customizing Git
- 8.1 Git Configuration
- 8.2 Git Attributes
- 8.3 Git Hooks
- 8.4 An Example Git-Enforced Policy
- 8.5 Summary
-
9. Git and Other Systems
- 9.1 Git as a Client
- 9.2 Migrating to Git
- 9.3 Summary
-
10. Git Internals
- 10.1 Plumbing and Porcelain
- 10.2 Git Objects
- 10.3 Git References
- 10.4 Packfiles
- 10.5 The Refspec
- 10.6 Transfer Protocols
- 10.7 Maintenance and Data Recovery
- 10.8 Environment Variables
- 10.9 Summary
-
A1. 附錄 A: Git in Other Environments
- A1.1 Graphical Interfaces
- A1.2 Git in Visual Studio
- A1.3 Git in Eclipse
- A1.4 Git in Bash
- A1.5 Git in Zsh
- A1.6 Git in Powershell
- A1.7 Summary
-
A2. 附錄 B: Embedding Git in your Applications
- A2.1 Command-line Git
- A2.2 Libgit2
- A2.3 JGit
-
A3. 附錄 C: Git Commands
- A3.1 Setup and Config
- A3.2 Getting and Creating Projects
- A3.3 Basic Snapshotting
- A3.4 Branching and Merging
- A3.5 Sharing and Updating Projects
- A3.6 Inspection and Comparison
- A3.7 Debugging
- A3.8 Patching
- A3.9 Email
- A3.10 External Systems
- A3.11 Administration
- A3.12 Plumbing Commands
6.1 GitHub - 建立帳戶及設定
GitHub 是個上面有大量 Git 倉儲的主機,同時也是數以百萬計的開發者和專案的交流中心。 有非常高比例的 Git 倉儲是被託管在 GitHub 上的。同時也有很多的開源專案使用 GitHub 來做 Git 託管、議題追蹤、程式碼審閱,還有其他各種用途。 雖然這並非 Git 開源計畫的直接目的,但在你專業的使用 Git 時,你還是有很大的機會會想要或需要使用GitHub。
這章節是關於如何有效率的使用 GitHub。 這會包含帳號的申請和管理、 Git 倉儲的建立及使用、參與別人的專案以及管理自己的專案的一般流程、GitHub 的應用程式介面,以及各式各樣能讓你更加便利的小技巧。
如果你對於如何在 GitHub 上託管自己的專案或是與其他人一起在 GitHub上的專案上合作不感興趣的話,你可以放心地直接前進到下個章節 [ch07-git-tools] 。
建立帳戶及設定
你第一件要做的事就是建立一個免費的使用者帳戶。 只要去 http://github.com,選擇一個尚未被使用過的使用者名稱,輸入一個電郵地址以及一個密碼,然後按下那個大大的綠色「Sign up for GitHub」按鈕就可以了。
你會看到各種付費升級方案的頁面,但是在這裡我們只要選免費方案即可。 之後 GitHub 會寄給你一封電子郵件來確認電郵地址。 因為這很重要所快點去做(我們等一下會解釋)。
筆記
|
你可以用免費帳戶使用 GitHub 所有的功能,但是你所有的專案都只能完全公開(所有人都有讀取權限)。 GitHub 的付費方案會提供數個私人專案的額度,但在本書中我們不會提及這個。 |
點擊畫面左上的 GitHub 圖示會連結到你的資訊主頁。 你現在可以開始使用 GitHub 了。
SSH 存取
你現在就可以透過 https://
協定並使用你剛剛設定的帳號及密碼來認證以連接你的 GitHub 倉儲。
但是,如果只是要克隆公開專案,其實你連註冊都不用 - 剛剛建立的帳號是在我們之後要 fork 專案或是推送變更到你複製的倉儲時才會用到。
如果想要使用 SSH 遠端,你必須要去設定一個公鑰。 (如果你沒有公鑰的話請參考 產生你的 SSH 公鑰。) 點擊視窗右上的連結開啟你的帳戶設定頁面:
image::images/account-settings.png[``帳戶設定'' 連結。]
然後點選左側的「SSH keys」區塊。
點選 "Add an SSH key
" 按鈕,之後替你的金鑰命名,複製你的 ~/.ssh/id_rsa.pub
(或是任意檔名)公鑰檔的內容並貼在文字區塊內,然後點擊「Add key」。
筆記
|
建議替你的金鑰取個容易記憶的名字。 你可以替你的每個金鑰取類似「我的筆電」或「工作帳號」的名字,這樣在之後要撤銷金鑰時,你可以很輕易地找出你要撤銷的那個金鑰。 |
你的頭像
再來,你可以把那個自動生成的頭像換成你希望的那個圖像。 首先,切換到「profile」分頁(在 SSH keys 的上面那一個),然後點選「Upload new picture」。
我們會拿個 Git 的圖示來用,而且我們會需要剪裁它。
之後你在網站上的任何互動,大家都會看到你的使用者名稱旁有你的頭像。
如果你剛好有在那知名的 Gravatar 上傳過頭像的話 (通常是 Wordpress 的帳戶會有用到),那個頭像會自動被當成預設的頭像,你就不需要執行這個步驟。
你的電子郵件地址
GitHub 是用電郵地址把 Git commits 和使用者關聯在一起的。 如果你擁有多個電郵地址,而且你也想要 GitHub 把他們正確的和你關聯在一起,你需要去管理頁面的 Emails 區塊,加入所有你使用的電子郵件。
在 加入電郵地址 這張圖裡面,我們可以看到各種狀態。 第一個地址是已認證而且設定為主要的電郵地址,意味著所有的通知和其他信件都會寄到這個地址。 第二個地址是已認證,所以可以隨時被切換成主要的地址。 最後一個是未認證的,意味著那並不能作為你的主要地址使用。 如果 GitHub 在站上的任意一個 Git 倉儲的 commit 訊息裡發現有對應的電郵地址,它就會被連結到你的使用者。
二階段驗證
最後,為了得到額外的安全保障,你應該要設定二階段驗證(或稱作「2FA」)。 二階段驗證是個越來越熱門的驗證技術,能夠在你的密碼被盜取的時候仍能保障你的帳戶的安全。 開啟這個功能後,GitHub 會要求你提供兩個不同的方式來驗證。所以在其中一個失效時,攻擊者仍然不能存取你的帳號。
你可以在你的帳戶設定裡面的安全性分頁找到兩階段驗證的設定。
在點擊「Set up two-factor authentication」按鈕之後,他會連結到設定頁面,讓你可以設定手機 App 以產生第二階段驗證碼 (一個基於時間產生的一次性密碼),或者你也可以讓 GitHub 在你每次要登入時透過簡訊發送一個驗證碼給你。
當你選擇並完成 2FA 的設定之後,你的帳戶會變得更安全。並在之後的每次登入,除了密碼你還要提供一個驗證碼才能登入 GitHub。