什么是GitHub
每當(dāng)了解一個(gè)新玩意的時(shí)候首先我想知道的總是這玩意到底是個(gè)啥。GitHub嘛,不就是為開(kāi)發(fā)者提供 Git 倉(cāng)庫(kù)的托管服務(wù)嘛,同時(shí)你可以分享你的倉(cāng)庫(kù)給任何人,通俗來(lái)說(shuō),大致上就像一個(gè)可以查文件修改歷史的網(wǎng)盤(pán)。你可以不斷得提交你修改的文件(這里的文件可以是你寫(xiě)的小說(shuō)啊,你制作的視頻啊,你偷藏的電子書(shū)啊,還可以是你辛辛苦苦抹的代碼),同時(shí)可以恢復(fù)到舊的版本。還可以邀請(qǐng)其他人來(lái)和你一起改你的文件。差不多就是這么個(gè)簡(jiǎn)單的玩意兒。當(dāng)然,在你了解了之后會(huì)發(fā)現(xiàn),他還有很多666的功能。OK,我來(lái)附上官方網(wǎng)址,大家可以先看看這哥們的樣子。另外這里有GitHub被玩壞的LOGO。
什么是Git
Git 屬于分散型版本管理系統(tǒng),是為版本管理而設(shè)計(jì)的軟件。它是由Linux 的創(chuàng)始人 Linus Torvalds 在 2005 年開(kāi)發(fā)了的原型程序發(fā)展而來(lái)。其性能和功能自然沒(méi)的說(shuō),用過(guò)的基佬都說(shuō)好~
注冊(cè)使用GitHub
去官方網(wǎng)址注冊(cè)就好了沒(méi)啥特別說(shuō)明的地方。注冊(cè)之后包括倉(cāng)庫(kù)、分支的創(chuàng)建等官方都給出了圖文教程,這里不再贅述。雖然是英文版的,但是希望大家能耐著性子看看(已經(jīng)熟悉的同學(xué)可以直接忽略),更多官方教程可以看這里。
安裝Git
扯了半天沒(méi)用的,趕緊進(jìn)入正題,要想使用GitHub,首先我們需要安裝Git,MAC和linux系統(tǒng)不必多說(shuō)了,一般現(xiàn)在的系統(tǒng)都是默認(rèn)安裝Git,我就只說(shuō)一下windows的安裝,首先當(dāng)然是下載Git for windows(或者從這里下載也可以),下載完成后安裝,這里對(duì)幾個(gè)安裝選項(xiàng)進(jìn)行簡(jiǎn)單的說(shuō)明,配置好一路next,最后點(diǎn)擊install就完成安裝了(下圖是我在安裝時(shí)勾選的選項(xiàng))。





使用Git
初始設(shè)置
設(shè)置姓名和郵箱(該設(shè)置會(huì)在~/.gitconfig中生成配置,并且在提交時(shí)會(huì)被公開(kāi)哦~):
//設(shè)置姓名
git config --global user.name "L.T.Any"
//設(shè)置郵箱
git config --global user.email "linetoanywhere@gmail.com"
//設(shè)置輸出內(nèi)容高亮
git config --global color.ui auto
設(shè)置SSH Key
使用GitHub連接到已有倉(cāng)庫(kù)時(shí),需要使用SSH的公鑰進(jìn)行認(rèn)證,因此我們需要在本地創(chuàng)建一對(duì)密鑰,本地Git Bash上執(zhí)行如下:

創(chuàng)建好SSH Key后,我們需要把它導(dǎo)入到GitHub中去,具體導(dǎo)入過(guò)程見(jiàn)下圖:

導(dǎo)入完成后我們可以簡(jiǎn)單測(cè)試一下是否可用,具體檢驗(yàn)方法如下:(當(dāng)出現(xiàn)Hi 。。。。 access這樣的輸出時(shí)說(shuō)明可用)

至此,SSH Key設(shè)置完成。
下載并使用代碼倉(cāng)庫(kù)
創(chuàng)建好代碼倉(cāng)庫(kù)后就可以將他們下載到本地來(lái)進(jìn)行編輯修改了。在GitHub上進(jìn)入倉(cāng)庫(kù)頁(yè),選擇Clone or Download,這里可以選擇使用https或者SSH,由于我們?cè)O(shè)置了SSH,因此選擇SSH,復(fù)制地址,打開(kāi)git,切換到目標(biāo)目錄,并執(zhí)行如下命令。

//克隆倉(cāng)庫(kù)內(nèi)容到本地
git clone git@github.com:LineToAnyWhere/LineToAnyWhere.github.io.git
此時(shí)倉(cāng)庫(kù)已經(jīng)下載到本地,這時(shí)我們可以修改內(nèi)容,然后在本地倉(cāng)庫(kù)中添加更改,之后提交更改??梢栽趦?nèi)容更改后執(zhí)行如下命令來(lái)在本地提交更改:
//添加更改后的文件到倉(cāng)庫(kù)中,當(dāng)然也可以直接添加目錄
git add xxx.html //添加單個(gè)文件到目錄
git add . //添加當(dāng)前目錄中的文件
//提交更改的內(nèi)容
git commit -m "修改部分代碼" //只有在執(zhí)行完add后才可以提交更改,參數(shù)-m 后可以跟上此次提交的備注
到這里本地的更改已經(jīng)可以由本地倉(cāng)庫(kù)來(lái)進(jìn)行管理了,如果你需要在多個(gè)地點(diǎn)維護(hù)你的代碼,這時(shí)候你就需要將你的代碼提交到遠(yuǎn)程倉(cāng)庫(kù),這里可以提交到GitHub上。
//提交本地倉(cāng)庫(kù)到GitHub
git push
當(dāng)然,我們可以在任何時(shí)候查看我們的提交歷史記錄,或者是查看當(dāng)前倉(cāng)庫(kù)的狀態(tài)
//查看提交歷史紀(jì)錄
git log
//查看當(dāng)前倉(cāng)庫(kù)狀態(tài)
git status
這里我給大家一個(gè)全套執(zhí)行的示例

GitHub快捷鍵
在GitHub上很多頁(yè)面都有快捷鍵,各個(gè)頁(yè)面查看快捷鍵的方式是按下shift+/。
GitHub使用流程
1.一般流程
- 在GitHub上進(jìn)行Fork
- 將fork的倉(cāng)庫(kù)克隆至本地
- 在本地環(huán)境中創(chuàng)建分支
- 修改分支代碼并提交至本地
- push代碼到fork的倉(cāng)庫(kù)中
- 在GitHub上對(duì)Fork來(lái)源的倉(cāng)庫(kù)發(fā)送Pull Request
2.不Fork的開(kāi)發(fā)流程
- 共用一個(gè)遠(yuǎn)程倉(cāng)庫(kù)
- 使用不同賬戶clone項(xiàng)目到本地
- 創(chuàng)建分支修改本地代碼并提交
- push到遠(yuǎn)程倉(cāng)庫(kù)
- 在GitHub上合并分支
3.GitHub flow流程
- 令 master 分支時(shí)常保持可以部署的狀態(tài)
- 進(jìn)行新的作業(yè)時(shí)要從 master 分支創(chuàng)建新分支,新分支名稱(chēng)要具有描述性
- 在新建的本地倉(cāng)庫(kù)分支中進(jìn)行提交
- 在 GitHub 端倉(cāng)庫(kù)創(chuàng)建同名分支,定期 push
- 需要幫助或反饋時(shí)創(chuàng)建 Pull Request,以 Pull Request 進(jìn)行交流
- 讓其他開(kāi)發(fā)者進(jìn)行審查,確認(rèn)作業(yè)完成后與 master 分支合并
- 與 master 分支合并后立刻部署
4.Git flow流程
- 從開(kāi)發(fā)版的分支(develop)創(chuàng)建工作分支(feature branches),進(jìn)行功能的實(shí)現(xiàn)或修正
- 工作分支(feature branches)的修改結(jié)束后,與開(kāi)發(fā)版的分支(develop)進(jìn)行合并
- 重復(fù)上述流程,不斷實(shí)現(xiàn)功能直至可以發(fā)布
- 創(chuàng)建用于發(fā)布的分支(release branches),處理發(fā)布的各項(xiàng)工作
- 發(fā)布工作完成后與 master 分支合并,打上版本標(biāo)簽(Tag)進(jìn)行發(fā)布
- 如果發(fā)布的軟件出現(xiàn) BUG,以打了標(biāo)簽的版本為基礎(chǔ)進(jìn)行修正(hotfixes)
Gist
Gist A 是一款簡(jiǎn)單的 Web 應(yīng)用程序,常被開(kāi)發(fā)者們用來(lái)共享示例代
碼和錯(cuò)誤信息。其功能有些像簡(jiǎn)單的,可共享的備忘錄,共享時(shí)只需將需要共享內(nèi)容的URL發(fā)送給要共享的人即可,共享者之間還可以互相評(píng)論留言。當(dāng)然,他本身也是在Git版本控制的管理之下,可以隨時(shí)可以查看修改的歷史記錄,他還支持多種代碼高亮。感興趣的朋友可以試試,這里不再贅述。
GitHub的GUI客戶端##
其他提供類(lèi)似GitHub功能的開(kāi)源軟件
更多
本文僅僅展示了最簡(jiǎn)單的GitHub和git的使用方法,此后會(huì)不定期在此文章上更新一些GitHub功能的使用方法,至于Git會(huì)另寫(xiě)一篇文章專(zhuān)門(mén)說(shuō)明Git這個(gè)命令的各種參數(shù)用法。這里為大家推薦兩本書(shū),一本講述了GitHub的詳細(xì)使用,書(shū)名《GitHub入門(mén)與實(shí)踐》,作者是[日]大塚弘記。另一本是高級(jí)Git的使用方法,書(shū)名《Pro Git》,不過(guò)目前這本書(shū)沒(méi)有中文版,大家也可以參考《Git版本控制管理(第2版)》。另外《Pro Git》的英文版是可以從Git的官網(wǎng)下載PDF的。