PS:話說自己注冊了GitHub都很久了,卻沒有怎么去弄,現在系統學習一下,也把自己的學習經歷總結下來share給大家,希望大家都能把GitHub用起來,把你的項目代碼happy地托管起來!
一、基本概念
1.1 必須了解的概念
(1)倉庫 - Repository
倉庫即你的項目,你想在GitHub上開源一個項目,那就必須要新建一個Repository。如果你開源的項目有多個,那么你就有多個Repositories。
(2)收藏 - Star
收藏項目,方便下次查看。如果你的項目被收藏的次數越多,那么你的項目也就越受廣大開發者的歡迎咯。
(3)復制克隆項目 - Fork
如果你開源了一個項目,別人想在你這個項目的基礎之上做些改進,然后應用到自己的項目中,這時他就可以Fork你的項目,然后他的GitHub主頁上就多了一個項目,只不過這個項目是基於你的項目為基礎(相當於別人拿到了一個副本)。Fork之后,他就可以隨心所欲地去改進,但是絲毫不會影響原有項目的代碼與結構。
(4)發起請求 - Pull Request
如果別人在你的項目基礎之上做了一些改進,並且覺得改得很不錯,應該要把這些改進讓更多的人受益。於是,他就想把自己的改進合並進原有項目之中,這時他就可以發起一個Pull Request。而原有項目創建人也就是你,可以收到這個請求,這個時候你可能會仔細review他的代碼,並且測試后覺得OK,就可以接受他的Pull Request,之后他做的改進就可以融入到原有項目之中了。
(5)關注 - Watch
類似於微博中的關注,如果你Watch了某個項目,那么以后只要這個項目有任何更新,你都會第一時間收到關於這個項目的通知提醒。
(6)事務卡片 - Issue
你開源了一個項目,別人發現你的項目中有bug,或者哪些地方做的不夠好,他就可以給你提一個Issue(即問題)。你如果看到了這些Issue,就可以逐個去Fix修復,修復OK之后就可以一個一個地Close掉。
(7)GitHub主頁
如果你注冊了一個GitHub賬號,那么久會有一個屬於你的GitHub主頁,該頁面左側主要顯示用戶動態以及關注用戶/倉庫的動態,右側則顯示所有的Git庫。
(8)倉庫主頁
倉庫主頁主要顯示項目的信息,如:項目代碼、版本、收藏/關注/Fork情況 等等。
(9)個人主頁
個人信息:頭像、個人簡介、關注我的人,我關注的人,我關注的Git庫,我的開源項目,我貢獻的開源項目信息 等等。
你可以通過下圖“形(Xie)象(E)”地理解GitHub主頁。
看完上面這張圖,你是不是秒懂呢?
1.2 必須完成的准備
要使用GitHub,首先必須得注冊一個GitHub賬號啦!
注冊過程很easy,就跟你平時注冊小網站會員一樣,詳細信息可以瀏覽:點此了解注冊詳情
需要注意的地方就是,選擇Free免費賬號完成設置!那么收費的跟免費的有什么區別呢?私有的倉庫只有自己或者指定的朋友才有權限操作。
注冊完成之后,記住要驗證郵箱!如果未驗證郵箱,那么你是沒法做后續操作的。
二、GitHub基本操作
2.1 創建倉庫
在GitHub中點擊New repository活着Start a Project即可:
現在我新建一個倉庫,這個倉庫假設是我寫的一個數據結構的實例程序Demo程序庫:
Step1.填寫必要信息:
Step2.瀏覽倉庫主頁
2.2 創建文件
在剛剛的倉庫主頁中點擊 Create new file 按鈕,即可進入新文件頁面:
Step1.填寫必要信息之文件信息
Step2.填寫必要信息之記錄信息
Step3.瀏覽提交文件記錄
Step4.瀏覽具體文件信息
2.3 編輯文件
在指定的文件名處直接點擊文件名鏈接,即可進入編輯界面:
Step1.點擊文件名:
Step2.修改文件信息
假如我們要加入一行文本信息:
繼續填寫提交記錄日志信息:
Step3.瀏覽修改后的文件
2.4 刪除文件
在指定的文件名處直接點擊文件名鏈接,即可進入文件信息界面,點擊刪除按鈕:
Step1.點擊刪除按鈕
Step2.填寫日志記錄並點擊Commit Changes
Step3.刪除的文件不會出現在項目結構中,只能通過提交日志記錄查看:
2.5 上傳文件
在倉庫主頁點擊Upload files按鈕進入上傳頁面,選擇要上傳的文件,點擊上傳即可。注意:這里可以一次性上傳多個文件。
2.6 搜索倉庫文件
在倉庫主頁點擊Find file按鈕,即可進入搜索頁面:
假如我要搜索log,由於項目中沒有log文件,所以沒有搜索結果:
2.7 下載/檢出項目
在倉庫主頁點擊Clone or download按鈕,即可彈出下載提示框:
2.8 GitHub Issues
假如張三發現了李四的開源項目中存在一個bug,那么張三就可以為這個項目新建一個issue,我們可以把它理解為項目的問題列表,參與這個項目的開發者們可以在問題列表中進行交流:
Step1.新建Issue
Step2.填寫Issue信息,告知項目開發者
Step3.修復完成之后,可以回復Issue信息,告知提問者該Issue已修復
Step4.一般來說會由提問者來Close這個Issue,當然也可以由項目擁有者來Close。
2.9 Fork 復制克隆一個開源項目
假設我最近對StackExchange.Redis這個開源客戶端項目很感興趣,那么我可以Fork一下,看看有什么可以學習有什么可以優化的,我只需要點擊Fork按鈕,即可一秒建立一個Branch:
克隆之后,你的主頁會多一個project,並且會注明forked from StackExchange.Redis
如果你在修改完善了部分代碼之后覺得你想把你的change融入到原有項目之中,讓更多的人受益,那么你可以發起一個Pull Request:
點擊之后,會顯示所有你的修改,相當於你在提交之前review一下你的修改記錄,這里我啥也沒改,所以顯示 There isn’t anything to compare.
當你commit你的change之后,原有項目的所有者就會在他的GitHub主頁看到誰誰誰提交了他的代碼,並會看到你的comment。
這時,他就可以看到你做的文件修改,並選擇review你的代碼,最后決定是否merge到他的原有項目之中。
好了,現在我們來復習一下GitHub基本流程:
三、Git基本操作
3.1 安裝Git
可以去官網選擇下載,這里使用的是Git-2.9.0 64位版本:點我下載
全程傻瓜化安裝,下一步即可,可以把命令模式和圖形界面模式都勾選上。
3.2 Git基本流程
3.3 Git初始化操作及倉庫管理
這里我們主要采用命令行模式,這也是Linux服務器的精髓所在,圖形模式很easy,看看就會了。
(1)設置基本信息
-- 設置用戶名
git config --global user.name 'zhangsan'
-- 設置賬戶郵箱
git config --global user.email 'zhangsan@qq.com'
新建一個文件夾作為你的Git Workspace,然后打開Git Bash命令行界面:
(2)初始化一個新的Git倉庫
Step1.創建一個倉庫文件夾,這里取名跟剛剛在GitHub里面一樣的DataStructure.Demo.CSharp
Step2.在文件內初始化Git(創建Git倉庫)
--初始化
git init
(3)向倉庫中添加文件
假設我們寫了一個MyArrayStack類,我們把他copy到該文件夾中,使用以下命令加入到暫存區中:
git add MyArrayStack.cs
然后我們需要將暫存區文件添加到倉庫:
git commit -m 'add MyArrayStack.cs'
這時我們再通過git status查看,你會發現已經沒有什么文件更改或要提交的文件了。
(4)修改文件
當你修改了文件之后,通過git status可以查看到你修改了什么東西,同樣還是要經歷提交到暫存區再提交到倉庫的步驟,此處不再贅述。
(5)刪除文件
當你不再想要某個代碼文件時,你可以通過git rm filename的命令刪除文件:
git rm MyArrayStack.cs
3.4 使用Git管理遠程倉庫
我們剛剛提到Git的基本流程是工作區到暫存區再到Git倉庫,那么Git倉庫和遠程倉庫又是如何聯系起來的呢?
(1)Git克隆操作:將遠程倉庫復制到本地
git clone https://github.com/edisonchou/DataStructure.Demo.CSharp
(2)修改代碼,按照老步驟提交到Git倉庫
這里因為原始項目是啥也沒有,所以我索性把我之前寫的一個數據結構的Demo程序庫直接拖動到了這個文件夾中。
-- 添加所有文件
git add --all
git status
git commit -m 'add solution code'
這時我們已經提交到了git倉庫,需要同步到github遠程倉庫了:
git push
-- 后面可能會要求你輸入賬號和密碼
這時我們再次進入GitHub主頁,可以看到我們的項目已經有剛剛同步的代碼了:
PS:如果出現git push錯誤,提示The requested URL returned error : 403 Forbidden while accessing.你可以輸入用戶名密碼或者遠程地址采用這種類型(vi.git/config)
將[remote "orgin"] url=https://github.com/用戶名/倉庫名.git
改為[remote "orgin"] url=https://github.com/用戶名:密碼@github.com/用戶名/倉庫名.git
四、GitHub Pages搭建網站
4.1 個人站點
GitHub要求個人站點的倉庫名稱必須是 用戶名.github.io, 例如edisonchou.github.io
建立方法很簡單,也是新建一個repository,然后填寫你的個人站點名,例如 edisonchou.github.io。之后通過Git,你可以將你在本地開發的html網頁同步到github,之后你就可以通過域名訪問你的個人站點啦!
發布之后的個人站點如下:
4.2 項目站點
搭建后的訪問域名為:https://用戶名.github.io/倉庫名
(1)進入項目主頁,點擊Settings
(2)在Settings頁面,點擊Launch automatic page generator來自動生成主題頁面
(3)新建站點基礎信息設置
(4)選擇主題
(5)生成網頁
參考資料
(1)GitHub-百度百科
(3)怎么使用GitHub-知乎
(4)廖雪峰-Git教程
(5)楊曉輝-GitHub for Windows使用教程 => Windows下可以使用GitHub for Windows工具進行操作,很方便!