簡介
上一篇主要講解的是Git安裝及配置,這一篇就詳細的從無到有的來用Git玩翻github。
一、什麼是Github
Github是全球最大的社交程式設計及程式碼託管網站(https://github.com/)。
Github可以託管各種git庫,並提供一個web介面(使用者名稱.github.io/倉庫名)
二、Github和Git是什麼關係
Git是版本控制軟體
Github是專案程式碼託管的平臺,藉助git來管理專案程式碼
1、 使用Github
目的:藉助github託管專案程式碼
2、基本概念
a、倉庫(Repository)
倉庫的意思,即你的專案,你想在 GitHub 上開源一個專案,那就必須要新建一個 Repository ,如果你開源的專案多了,你就擁有了多個 Repositories 。
倉庫用來存放專案程式碼,每個專案對應一個倉庫,多個開源專案則有多個倉庫。
b、收藏(Star)
倉庫主頁star按鈕,意思為收藏專案的人數,收藏專案,方便下次檢視,在 GitHub 上如果你有一個專案獲得100個star都算很不容易了!
【如何收藏】
操作:開啟對應專案主頁,點選右上角 star 按鈕即可收藏
情景:張三無意訪問到李四的開源專案感覺不錯並進行收藏
【如何檢視自己得收藏】
c、複製專案(Fork)派生
這個不好翻譯,如果實在要翻譯我把他翻譯成分叉,什麼意思呢?你開源了一個專案,別人想在你這個專案的基礎上做些改進,然後應用到自己的專案中,這個時候他就可以 Fork 你的專案(開啟專案主頁點選右上角的fork按鈕即可),然後他的 GitHub 主頁上就多了一個專案,只不過這個專案是基於你的專案基礎(本質上是在原有專案的基礎上新建了一個分支),他就可以隨心所欲的去改進,但是絲毫不會影響原有專案的程式碼與結構。
注意:該fork的專案時獨立存在的
比如:張三fork了李四的專案,相當於張三複制了李四的專案,所以自己也單獨有了一個一樣名稱的倉庫(注:該倉庫會宣告來自於李四,但是獨立存在)
d、發起請求(Pull Request)
發起請求,這個其實是基於 Fork 的,還是上面那個例子,如果別人在你基礎上做了改進,後來覺得改進的很不錯,應該要把這些改進讓更多的人收益,於是就想把自己的改進合併到原有專案裡,這個時候他就可以發起一個 Pull Request(簡稱PR) ,原有專案建立人,也就是你,就可以收到這個請求,這個時候你會仔細review他的程式碼,並且測試覺得OK了,就會接受他的PR,這個時候他做的改進原有專案就會擁有了。
e、關注(Watch)
這個也好理解就是觀察,如果你 Watch 了某個專案,那麼以後只要這個專案有任何更新,你都會第一時間收到關於這個專案的通知提醒。
f、問題(Issue)
發現程式碼BUG,但是目前沒有成型程式碼,需要討論時用; 問題的意思,舉個例子,就是你開源了一個專案,別人發現你的專案中有bug,或者哪些地方做的不夠好,他就可以給你提個 Issue ,即問題,提的問題多了,也就是 Issues ,然後你看到了這些問題就可以去逐個修復,修復ok了就可以一個個的 Close 掉。
g、Github主頁
賬號建立成功或點選網址導航欄github圖示都可進入github主頁:該頁左側主要顯示使用者動態以及關注使用者或關注倉庫的動態;右側顯示所有的git庫
h、倉庫主頁
倉庫主頁主要顯示專案的資訊,如:專案程式碼,版本,收藏/關注/fork情況等
i、個人主頁
個人資訊:頭像,個人簡介,關注我的人,我關注的人,我關注的git庫,我的開源專案,我貢獻的開源專案等資訊
3、註冊github賬號
官方網址:https://github.com
注意:
a、因為github在國外伺服器所以訪問較慢或者無法訪問,需要FQ(***)
b、私有倉庫只能自己或者指定的朋友才有許可權操作(私有倉庫是收費的)
c、新註冊的使用者必須驗證郵箱後才可以建立git庫倉庫
4、建立倉庫/建立新專案
說明:一個git庫(倉庫)對應一個開源專案。通過git管理git庫
a、建立倉庫
1)點選【Start a project】建立一個倉庫
2)問題:點選【Start a project】建立一個倉庫,後出現該頁面
2)原因:未驗證郵箱,點選下圖框框中的連結進行驗證
3)點選【resend】傳送郵件驗證郵箱
4)點選【verify email address】驗證郵箱
說明:驗證成功後會自動跳轉github主頁,重新點選【Start a project】即可建立倉庫
5) 驗證郵箱後,點選【Start a project】進入下圖介面
b、倉庫主頁說明
注意:qq郵箱需要設定白名單才可以收到郵件
設定QQ郵箱白名單
1、開啟QQ郵箱、點選【設定】
2、點選【反垃圾】
3、點選【設定域名白名單】
4、在新頁面的input框中輸入【github.com】新增即可
5、倉庫管理
a、新建檔案:倉庫主頁,點選【create new file】建立倉庫檔案
b、編輯檔案:倉庫主頁,點選【需要修改的檔案】進入檔案詳情頁
c、刪除檔案
d、被刪除檔案如何檢視資訊
答案:點選commits按鈕檢視
e、上傳檔案
f、搜尋倉庫檔案:快捷鍵(t)
6、下載/檢出專案
7、Github Issues
作用:發現程式碼BUG,但是目前沒有成型程式碼,需要討論時用;或者使用開源專案出現問題時使用
情景:張三發現李四開源git庫,則發提交了一個issue;李四隔天登入在github主頁看到通知並和張三交流,最後關閉issue
三、基本概念(實戰操作)
1、Github主頁
2、個人主頁
四、開源專案貢獻流程
1、新建Issue
提交使用問題或者建議或者想法
2、Pull Request
步驟:
a、 fork專案
b、 修改自己倉庫的專案程式碼
c、 新建 pull request
d、 等待作者操作稽核
五、下面就是驚喜:Github Pages搭建網站
1、個人站點
訪問:https://使用者名稱.github.io
搭建步驟:
a、建立個人站點-》新建倉庫(倉庫名必須是【使用者名稱.github.io】)
b、在倉庫下新建index.html的檔案即可
注意:a、Github Page僅支援靜態頁面
b、倉庫裡面只能是.html檔案
c、個人主頁也可以設定主題
2、Project Pages 專案站點
訪問:https://使用者名稱.github.io/倉庫名
原理:gh-pages 用於構建和釋出
搭建步驟
a、進入專案主頁,點選settings
b、在settings頁面,點選【Choose a theme 】來自動生成主題頁面
c、新建站點基礎資訊設定
d、選擇主題
e、釋出網頁(publish page)
六、小結
Clone和Fork的區別:
fork(派生):將別人的倉庫複製一份到自己的倉庫。
clone(克隆):將倉庫克隆到自己本地電腦中。
Fork的主要應用場景:
1.在A的倉庫中fork專案B (此時我們自己的github就有一個一模一樣的倉庫B,但是URL不同)
2.將我們修改的程式碼push到自己github中的倉庫B中
3.pull request ,主人就會收到請求,並決定要不要接受你的程式碼