一、什么是Github
Github是全球最大的社交編程及代碼托管網(wǎng)站(https://github.com/)。
Github可以托管各種git庫,并提供一個web界面(用戶名.github.io/倉庫名)
二、Github和Git是什么關(guān)系
Git是版本控制軟件
Github是項(xiàng)目代碼托管的平臺,借助git來管理項(xiàng)目代碼
1、 使用Github
目的:借助github托管項(xiàng)目代碼
2、基本概念
a、倉庫(Repository)
倉庫的意思,即你的項(xiàng)目,你想在 GitHub 上開源一個項(xiàng)目,那就必須要新建一個 Repository ,如果你開源的項(xiàng)目多了,你就擁有了多個 Repositories 。
倉庫用來存放項(xiàng)目代碼,每個項(xiàng)目對應(yīng)一個倉庫,多個開源項(xiàng)目則有多個倉庫
b、收藏(Star)
倉庫主頁star按鈕,意思為收藏項(xiàng)目的人數(shù),收藏項(xiàng)目,方便下次查看,在 GitHub 上如果你有一個項(xiàng)目獲得100個star都算很不容易了!
【如何收藏】
操作:打開對應(yīng)項(xiàng)目主頁,點(diǎn)擊右上角 star 按鈕即可收藏
情景:張三無意訪問到李四的開源項(xiàng)目感覺不錯并進(jìn)行收藏
【如何查看自己得收藏】
c、復(fù)制項(xiàng)目(Fork)派生
這個不好翻譯,如果實(shí)在要翻譯我把他翻譯成分叉,什么意思呢?你開源了一個項(xiàng)目,別人想在你這個項(xiàng)目的基礎(chǔ)上做些改進(jìn),然后應(yīng)用到自己的項(xiàng)目中,這個時候他就可以 Fork 你的項(xiàng)目(打開項(xiàng)目主頁點(diǎn)擊右上角的fork按鈕即可),然后他的 GitHub 主頁上就多了一個項(xiàng)目,只不過這個項(xiàng)目是基于你的項(xiàng)目基礎(chǔ)(本質(zhì)上是在原有項(xiàng)目的基礎(chǔ)上新建了一個分支),他就可以隨心所欲的去改進(jìn),但是絲毫不會影響原有項(xiàng)目的代碼與結(jié)構(gòu)。
注意:該fork的項(xiàng)目時獨(dú)立存在的
比如:張三fork了李四的項(xiàng)目,相當(dāng)于張三復(fù)制了李四的項(xiàng)目,所以自己也單獨(dú)有了一個一樣名稱的倉庫(注:該倉庫會聲明來自于李四,但是獨(dú)立存在)
d、發(fā)起請求(Pull Request)
發(fā)起請求,這個其實(shí)是基于 Fork 的,還是上面那個例子,如果別人在你基礎(chǔ)上做了改進(jìn),后來覺得改進(jìn)的很不錯,應(yīng)該要把這些改進(jìn)讓更多的人收益,于是就想把自己的改進(jìn)合并到原有項(xiàng)目里,這個時候他就可以發(fā)起一個 Pull Request(簡稱PR) ,原有項(xiàng)目創(chuàng)建人,也就是你,就可以收到這個請求,這個時候你會仔細(xì)review他的代碼,并且測試覺得OK了,就會接受他的PR,這個時候他做的改進(jìn)原有項(xiàng)目就會擁有了。
e、關(guān)注(Watch)
這個也好理解就是觀察,如果你 Watch 了某個項(xiàng)目,那么以后只要這個項(xiàng)目有任何更新,你都會第一時間收到關(guān)于這個項(xiàng)目的通知提醒。
f、問題(Issue)
發(fā)現(xiàn)代碼BUG,但是目前沒有成型代碼,需要討論時用; 問題的意思,舉個例子,就是你開源了一個項(xiàng)目,別人發(fā)現(xiàn)你的項(xiàng)目中有bug,或者哪些地方做的不夠好,他就可以給你提個 Issue ,即問題,提的問題多了,也就是 Issues ,然后你看到了這些問題就可以去逐個修復(fù),修復(fù)ok了就可以一個個的 Close 掉。
g、Github主頁
賬號創(chuàng)建成功或點(diǎn)擊網(wǎng)址導(dǎo)航欄github圖標(biāo)都可進(jìn)入github主頁:該頁左側(cè)主要顯示用戶動態(tài)以及關(guān)注用戶或關(guān)注倉庫的動態(tài);右側(cè)顯示所有的git庫
h、倉庫主頁
倉庫主頁主要顯示項(xiàng)目的信息,如:項(xiàng)目代碼,版本,收藏/關(guān)注/fork情況等
i、個人主頁
個人信息:頭像,個人簡介,關(guān)注我的人,我關(guān)注的人,我關(guān)注的git庫,我的開源項(xiàng)目,我貢獻(xiàn)的開源項(xiàng)目等信息
3、注冊github賬號
官方網(wǎng)址:https://github.com
注意:
a、因?yàn)間ithub在國外服務(wù)器所以訪問較慢或者無法訪問,需要FQ(Shadowsocks)
b、私有倉庫只能自己或者指定的朋友才有權(quán)限操作(私有倉庫是收費(fèi)的)
c、新注冊的用戶必須驗(yàn)證郵箱后才可以創(chuàng)建git庫倉庫
4、創(chuàng)建倉庫/創(chuàng)建新項(xiàng)目
說明:一個git庫(倉庫)對應(yīng)一個開源項(xiàng)目。通過git管理git庫
a、創(chuàng)建倉庫
1)點(diǎn)擊【Start a project】創(chuàng)建一個倉庫
2)問題:點(diǎn)擊【Start a project】創(chuàng)建一個倉庫,后出現(xiàn)該頁面
2)原因:未驗(yàn)證郵箱,點(diǎn)擊下圖框框中的鏈接進(jìn)行驗(yàn)證
3)點(diǎn)擊【resend】發(fā)送郵件驗(yàn)證郵箱
4)點(diǎn)擊【verify email address】驗(yàn)證郵箱
說明:驗(yàn)證成功后會自動跳轉(zhuǎn)github主頁,重新點(diǎn)擊【Start a project】即可創(chuàng)建倉庫
5) 驗(yàn)證郵箱后,點(diǎn)擊【Start a project】進(jìn)入下圖界面
b、倉庫主頁說明
注意:qq郵箱需要設(shè)置白名單才可以收到郵件
設(shè)置QQ郵箱白名單
1、打開QQ郵箱、點(diǎn)擊【設(shè)置】
2、點(diǎn)擊【反垃圾】
3、點(diǎn)擊【設(shè)置域名白名單】
4、在新頁面的input框中輸入【github.com】添加即可
5、倉庫管理
a、新建文件:倉庫主頁,點(diǎn)擊【create new file】創(chuàng)建倉庫文件
b、編輯文件:倉庫主頁,點(diǎn)擊【需要修改的文件】進(jìn)入文件詳情頁
c、刪除文件
d、被刪除文件如何查看信息
答案:點(diǎn)擊commits按鈕查看
e、上傳文件
f、搜索倉庫文件:快捷鍵(t)
6、下載/檢出項(xiàng)目
7、Github Issues
作用:發(fā)現(xiàn)代碼BUG,但是目前沒有成型代碼,需要討論時用;或者使用開源項(xiàng)目出現(xiàn)問題時使用
情景:張三發(fā)現(xiàn)李四開源git庫,則發(fā)提交了一個issue;李四隔天登錄在github主頁看到通知并和張三交流,最后關(guān)閉issue
三、基本概念(實(shí)戰(zhàn)操作)
1、Github主頁
2、個人主頁
四、開源項(xiàng)目貢獻(xiàn)流程
1、新建Issue
提交使用問題或者建議或者想法
2、Pull Request
步驟:
a、 fork項(xiàng)目
b、 修改自己倉庫的項(xiàng)目代碼
c、 新建 pull request
d、 等待作者操作審核
五、下面就是驚喜:Github Pages搭建網(wǎng)站
1、個人站點(diǎn)
訪問:https://用戶名.github.io
搭建步驟:
a、創(chuàng)建個人站點(diǎn)-》新建倉庫(倉庫名必須是【用戶名.github.io】)
b、在倉庫下新建index.html的文件即可
注意:a、Github Page僅支持靜態(tài)頁面
b、倉庫里面只能是.html文件
c、個人主頁也可以設(shè)置主題
2、Project Pages 項(xiàng)目站點(diǎn)
訪問:https://用戶名.github.io/倉庫名
原理:gh-pages 用于構(gòu)建和發(fā)布
搭建步驟
a、進(jìn)入項(xiàng)目主頁,點(diǎn)擊settings
b、在settings頁面,點(diǎn)擊【Choose a theme 】來自動生成主題頁面
c、新建站點(diǎn)基礎(chǔ)信息設(shè)置
d、選擇主題
e、發(fā)布網(wǎng)頁(publish page)
http://www.cnblogs.com/qijunjun/p/7139562.html