簡介
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
master
branch - 一個(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)樗母囊驯缓喜ⅲ瑒h除分支(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