藉助GitHub託管你的項目代碼

1、基本概念

1.1 必須瞭解的概念

  • 倉庫 - Repository
    倉庫即你的項目,你想在GitHub上開源一個項目,那就必需要新建一個Repository。若是你開源的項目有多個,那麼你就有多個Repositories。
  • 收藏 - Star
    收藏項目,方便下次查看。若是你的項目被收藏的次數越多,那麼你的項目也就越受廣大開發者的歡迎咯。
  • 複製克隆項目 - Fork
    若是你開源了一個項目,別人想在你這個項目的基礎之上作些改進,而後應用到本身的項目中,這時他就能夠Fork你的項目,而後他的GitHub主頁上就多了一個項目,只不過這個項目是基於你的項目爲基礎(至關於別人拿到了一個副本)。Fork以後,他就能夠爲所欲爲地去改進,可是絲絕不會影響原有項目的代碼與結構。
  • 發起請求 - Pull Request
    若是別人在你的項目基礎之上作了一些改進,而且以爲改得很不錯,應該要把這些改進讓更多的人受益。因而,他就想把本身的改進合併進原有項目之中,這時他就能夠發起一個Pull Request。而原有項目建立人也就是你,能夠收到這個請求,這個時候你可能會仔細review他的代碼,而且測試後以爲OK,就能夠接受他的Pull Request,以後他作的改進就能夠融入到原有項目之中了。
  • 關注 - Watch
    相似於微博中的關注,若是你Watch了某個項目,那麼之後只要這個項目有任何更新,你都會第一時間收到關於這個項目的通知提醒。
  • 事務卡片 - Issue
    你開源了一個項目,別人發現你的項目中有bug,或者哪些地方作的不夠好,他就能夠給你提一個Issue(即問題)。你若是看到了這些Issue,就能夠逐個去Fix修復,修復OK以後就能夠一個一個地Close掉。
  • GitHub主頁
    若是你註冊了一個GitHub帳號,那麼久會有一個屬於你的GitHub主頁,該頁面左側主要顯示用戶動態以及關注用戶/倉庫的動態,右側則顯示全部的Git庫。
  • 倉庫主頁
    倉庫主頁主要顯示項目的信息,如:項目代碼、版本、收藏/關注/Fork狀況 等等。
  • 我的主頁
    我的信息:頭像、我的簡介、關注個人人,我關注的人,我關注的Git庫,個人開源項目,我貢獻的開源項目信息 等等。
    你能夠經過下圖「形(Xie)象(E)」地理解GitHub主頁。

1.2 必須完成的準備

要使用GitHub,首先必須得註冊一個GitHub帳號啦!
註冊過程很easy,就跟你平時註冊小網站會員同樣,詳細信息能夠瀏覽:點此瞭解註冊詳情
須要注意的地方就是,選擇Free免費帳號完成設置!那麼收費的跟免費的有什麼區別呢?私有的倉庫只有本身或者指定的朋友纔有權限操做。html

註冊完成以後,記住要驗證郵箱!若是未驗證郵箱,那麼你是無法作後續操做的。git

2、GitHub基本操做

2.1 建立倉庫

在GitHub中點擊New repository活着Start a Project便可:github

如今我新建一個倉庫,這個倉庫假設是我寫的一個數據結構的實例程序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基本流程:

3、Git基本操做

3.1 安裝Git

能夠去官網選擇下載,這裏使用的是Git-2.9.0 64位版本:點我下載

全程傻瓜化安裝,下一步便可,能夠把命令模式和圖形界面模式都勾選上。

3.2 Git基本流程

3.3 Git初始化操做及倉庫管理

  這裏咱們主要採用命令行模式,這也是Linux服務器的精髓所在,圖形模式很easy,看看就會了。

  • 設置基本信息
    -- 設置用戶名
    git config --global user.name 'zhangsan'
    -- 設置帳戶郵箱
    git config --global user.email 'zhangsan@qq.com' 

    新建一個文件夾做爲你的Git Workspace,而後打開Git Bash命令行界面:

     

  • 初始化一個新的Git倉庫
    Step1.建立一個倉庫文件夾,這裏取名跟剛剛在GitHub裏面同樣的DataStructure.Demo.CSharp
    Step2.在文件內初始化Git(建立Git倉庫)

    --初始化
    git init

    假設咱們寫了一個MyArrayStack類,咱們把他copy到該文件夾中,使用如下命令加入到暫存區中:

    git add MyArrayStack.cs

    而後咱們須要將暫存區文件添加到倉庫:

    git commit -m 'add MyArrayStack.cs'

    這時咱們再經過 git status 查看,你會發現已經沒有什麼文件更改或要提交的文件了。

  • 修改文件
    當你修改了文件以後,經過 git status 能夠查看到你修改了什麼東西,一樣仍是要經歷提交到暫存區再提交到倉庫的步驟,此處再也不贅述。

     

  • 刪除文件
    當你再也不想要某個代碼文件時,你能夠經過 git rm filename 的命令刪除文件:

    git rm MyArrayStack.cs

     

3.4 使用Git管理遠程倉庫

咱們剛剛提到Git的基本流程是工做區到暫存區再到Git倉庫,那麼Git倉庫和遠程倉庫又是如何聯繫起來的呢?

  • Git克隆操做:將遠程倉庫複製到本地
    git clone https://github.com/edisonchou/DataStructure.Demo.CSharp  

  • 修改代碼,按照老步驟提交到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

4、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-百度百科

(2)手把手教你最簡單的開源項目託管

(3)怎麼使用GitHub-知乎

(4)廖雪峯-Git教程

(5)楊曉輝-GitHub for Windows使用教程 => Windows下可使用GitHub for Windows工具進行操做,很方便!

轉自:http://www.cnblogs.com/edisonchou/

相關文章
相關標籤/搜索