
簡介
GitHub是一個(gè)通過Git進(jìn)行版本控制的軟件源代碼托管服務(wù),由GitHub公司(曾稱Logical Awesome)的開發(fā)者Chris Wanstrath、PJ Hyett和Tom Preston-Werner使用Ruby on Rails編寫而成。
GitHub同時(shí)提供付費(fèi)賬戶和免費(fèi)賬戶。這兩種賬戶都可以創(chuàng)建公開的代碼倉庫,但是付費(fèi)賬戶還可以創(chuàng)建私有的代碼倉庫。根據(jù)在2009年的Git用戶調(diào)查,GitHub是最流行的Git訪問站點(diǎn).
除了允許個(gè)人和組織創(chuàng)建和訪問保管中的代碼以外,它也提供了一些方便社會(huì)化共同軟件開發(fā)的功能,即一般人口中的社區(qū)功能,包括允許用戶追蹤其他用戶、組織、軟件庫的動(dòng)態(tài),對(duì)軟件代碼的改動(dòng)和bug提出評(píng)論等。GitHub也提供了圖表功能,用于概觀顯示開發(fā)者們?cè)鯓釉诖a庫上工作以及軟件的開發(fā)活躍程度。
截止到2015年,GitHub已經(jīng)有超過九百萬注冊(cè)用戶和2110萬代碼庫。
事實(shí)上已經(jīng)成為了世界上最大的代碼存放網(wǎng)站和開源社區(qū)
更多:維基百科
開始使用GitHub
本文是我對(duì)于官方文檔:Hello World 的翻譯。

Hello World 項(xiàng)目是計(jì)算機(jī)編程中一個(gè)歷史悠久的傳統(tǒng)。 這是一個(gè)在你開始學(xué)習(xí)新東西時(shí)候的簡單練習(xí)。 讓我們開始使用GitHub吧!
您將學(xué)會(huì):
- 創(chuàng)建和使用存儲(chǔ)庫(repository);
- 啟動(dòng)和管理新分支(branch);
- 對(duì)文件進(jìn)行更改并將其推送提交(commit)到GitHub ;
- 打開并合并一個(gè)Pull請(qǐng)求。
什么是GitHub?
GitHub是用于版本控制和協(xié)作的代碼托管平臺(tái)。 它可以讓你和其他人在任何地方協(xié)同工作同一個(gè)項(xiàng)目。
本教程教你GitHub的要素,如倉庫(repositories),分支(branches),提交(commits) 和Pull請(qǐng)求。 您將創(chuàng)建自己的Hello World 項(xiàng)目存儲(chǔ)庫,并學(xué)習(xí)GitHub的Pull Request工作流程,這是一種流行的創(chuàng)建和審查代碼的方法。
無需編碼
要完成本教程,您需要一個(gè)GitHub帳戶和可以連接的Internet網(wǎng)絡(luò)。 您不需要知道如何編碼,使用命令行,或安裝Git(GitHub的版本控制軟件被建立于此)。
提示:在單獨(dú)的瀏覽器窗口(或選項(xiàng)卡)中打開此指南,以便在完成教程中的步驟時(shí)可以看到它。
步驟1.創(chuàng)建存儲(chǔ)庫(Repository)
存儲(chǔ)庫(repository)通常用于組織單個(gè)項(xiàng)目。 存儲(chǔ)庫可以包含文件夾和文件,圖像,視頻,電子表格和數(shù)據(jù)集 - 即項(xiàng)目需要的任何內(nèi)容。 我們建議您包括一個(gè)README文件,或包含有關(guān)您的項(xiàng)目信息的文件。 GitHub使得在創(chuàng)建新存儲(chǔ)庫的同時(shí)添加一個(gè)README文件很容易實(shí)現(xiàn)。 它還提供其他常見選項(xiàng),如許可證文件。
你的 hello-world 存儲(chǔ)庫 可以是一個(gè)你存儲(chǔ)想法,資源,甚至與他人分享和討論內(nèi)容的地方。
創(chuàng)建新存儲(chǔ)庫(Repository)
- 在右上角,在您的頭像或識(shí)別碼旁邊,單擊 + 然后選擇“Create new...”。
- 命名您的存儲(chǔ)庫名稱為
hello-world。 - 寫一個(gè)簡短的描述(description)。
- 勾選 Initialize this repository with a README(使用README初始化此存儲(chǔ)庫。)
[圖片上傳失敗...(image-7fa7f1-1513732778552)]
點(diǎn)擊 Create repository(創(chuàng)建存儲(chǔ)庫)。
步驟2.創(chuàng)建分支(Branch)
分支(Branching) 是同時(shí)在同一個(gè)存儲(chǔ)庫中創(chuàng)建不同版本的方式。
默認(rèn)情況下,你的倉庫有一個(gè)名稱為master的分支,它被認(rèn)為是最終分支。 我們使用分支進(jìn)行實(shí)驗(yàn)和編輯,然后將分支提交到master。
當(dāng)您在主master分支上創(chuàng)建分支時(shí),您就創(chuàng)建了主master節(jié)點(diǎn)在該時(shí)間點(diǎn)的副本或快照。 如果有人在您在分支上工作時(shí)對(duì)主master分支進(jìn)行了更改,你就可以提取這些更新。
此圖顯示:
- 主分支 The
masterbranch - 一個(gè)新的分支稱之為 映像(
feature)(因?yàn)槲覀冊(cè)谶@個(gè)分支上做“映像工作”) - 在映像(
feature)被合并到主master分支上的旅程
[圖片上傳失敗...(image-b704e5-1513732778552)]
你曾經(jīng)保存過一個(gè)文件的不同版本嗎? 就像是:
- story.txt
- story-joe-edit.txt
- story-joe-edit-reviewed.txt
分支(Branch) 在GitHub存儲(chǔ)庫中實(shí)現(xiàn)類似的目標(biāo)。
在GitHub上,我們的開發(fā)人員,作家和設(shè)計(jì)師使用分支來保持錯(cuò)誤的修復(fù)和功能工作在獨(dú)立于我們的主(產(chǎn)品)分支上。 當(dāng)更改準(zhǔn)備就緒時(shí),它們將其分支合并到主master()節(jié)點(diǎn)上。
創(chuàng)建一個(gè)新的分支
- 進(jìn)入您的新存儲(chǔ)庫
hello-world。 - 單擊文件列表頂部叫做 branch:master 的下拉列表。
- 在新分支文本框中鍵入分支名稱readme-edits。
- 選擇藍(lán)色的 Create branch 框或按鍵盤上的“Enter”。
[圖片上傳失敗...(image-900a77-1513732778552)]
現(xiàn)在你有兩個(gè)分支,master和readme-edits。 他們看起來完全一樣,但不長久! 接下來,我們將把更改添加到新分支。
步驟3.制作并提交更改
哇哦! 現(xiàn)在,你在readme-edits分支的代碼視圖上,這是master的副本。 讓我們做一些編輯。
在GitHub上,保存的更改稱為提交(commit)。 每個(gè)提交都有一個(gè)相關(guān)的提交消息,這是一個(gè)描述為什么進(jìn)行特定更改的描述。 提交消息會(huì)捕獲您更改的歷史記錄,因此其他參與者可以了解您的操作以及原因。
制作并提交更改
- 單擊
README.md文件。 - 在文件視圖的右上角單擊?鉛筆圖標(biāo)編輯。
- 在編輯器中,寫一點(diǎn)關(guān)于你自己的東西。
- 編寫提交消息來描述您的更改的內(nèi)容。
- 單擊 Commit changes 提交更改按鈕。
[圖片上傳失敗...(image-8c610f-1513732778552)]
這些更改將只發(fā)生在readme-edits分支上的README文件,因此現(xiàn)在此分支包含的內(nèi)容與master不同。
步驟4.開啟拉取請(qǐng)求(Pull Request)
干得漂亮! 現(xiàn)在,您在master的分支中有更改,您可以開啟拉取請(qǐng)求了。
Pull Request 請(qǐng)求是GitHub協(xié)作的核心。 當(dāng)您開啟拉取請(qǐng)求時(shí),您就會(huì)提出您的更改和請(qǐng)求,并要求某人審核并提交您的貢獻(xiàn),并將其合并到他們的分支中。 拉取請(qǐng)求會(huì)顯示來自兩個(gè)分支的內(nèi)容的差異或差異。 更改,添加和減少以綠色和紅色顯示。
一旦提交(commit)以后,您就可以開啟一個(gè)拉取請(qǐng)求(Pull Request)并,在代碼完成之前展開討論。
通過在您的請(qǐng)求消息中使用GitHub的@提醒系統(tǒng),您可以請(qǐng)求特定人員或團(tuán)隊(duì)的反饋,無論他們是在大廳還是在10個(gè)時(shí)區(qū)以外。
您甚至可以在您自己的存儲(chǔ)庫中開啟拉取請(qǐng)求并自行合并它們。 這是一個(gè)在更大的項(xiàng)目之前學(xué)習(xí)GitHub流的偉大的方式。
開啟一個(gè)對(duì)README的更改的Pull Requset
點(diǎn)擊圖片獲得更大的版本
| 步驟 | 截圖 |
|---|---|
| 單擊 Pull Requset 選項(xiàng)卡,然后在拉請(qǐng)求頁面,單擊綠色的 New pull request 按鈕。 | [圖片上傳失敗...(image-eae31e-1513732778552)] |
選擇您所做的分支readme-edits,以與master(原始)進(jìn)行比較。 |
[圖片上傳失敗...(image-92ee70-1513732778552)] |
| 查看比較頁面上的差異更改,確保它們是您要提交的內(nèi)容。 | [圖片上傳失敗...(image-72991b-1513732778552)] |
| 當(dāng)您確定這些是您要提交的更改時(shí),單擊大的綠色“Create Pull Request”按鈕。 | [圖片上傳失敗...(image-45bab3-1513732778552)] |
| 給你的Pull Request寫一個(gè)標(biāo)題,并寫一個(gè)簡短的描述你的更改。 | [圖片上傳失敗...(image-870051-1513732778552)] |
當(dāng)你完成填寫以上信息后,點(diǎn)擊 Create pull request。
步驟5.合并(merge)您的請(qǐng)求
在這最后一步,是時(shí)候把你的更改放在一起了 - 合并你的readme-edits分支到master分支。
- 單擊綠色Merge pull request按鈕將更改合并到
master中。
[圖片上傳失敗...(image-fc048d-1513732778552)] - 單擊確認(rèn)合并(Confirm merge)。
- 繼續(xù)并刪除分支,因?yàn)樗母囊驯缓喜?,刪除分支(Delete branch)按鈕在紫色框中。
[圖片上傳失敗...(image-9a4969-1513732778552)]
恭喜
通過完成本教程,您已經(jīng)學(xué)會(huì)了創(chuàng)建一個(gè)項(xiàng)目,并在GitHub上發(fā)出pull request了



!
這里是你在本教程中完成的:
- 創(chuàng)建了一個(gè)開源庫
- 開始和管理一個(gè)新的分支
- 更改了一個(gè)文件并將這些更改提交給GitHub
- 開啟并合并一個(gè)Pull Request
看看你的GitHub個(gè)人資料,你會(huì)看到你的新貢獻(xiàn)方塊!
如果您想了解有關(guān)Pull Request的更多功能,我們建議您閱讀GitHub Flow Guide。 您還可以訪問GitHub探索并參與開源項(xiàng)目.
提示:請(qǐng)參閱我們的其他指南和YouTube頻道,了解更多GitHub操作方法。
參考
- Git Cheat Sheet 中文版
- Git 的使用感受 @唐巧
- Git 常用命令
- 怎樣在Github上面貢獻(xiàn)代碼 @lark
- Git及GitHub快速入門圖文全面詳解(30分鐘學(xué)會(huì))
- GitFlow ??????
遇到的問題
最后更新:20190105