小白參與github專案的步驟(詳細)

lm_y發表於2017-09-10
github是一個很火的程式碼託管服務網站,可能好多人都想參與一兩個專案玩一玩學習一下,但由於是純英文的網站,可能又會止步於想法上沒有動手實踐。接下來我就介紹一下參與github上開源專案的大致流程,以及注意的地方。當然這裡不會詳細介紹git的使用,看懂本文還得需要參考其他資料,學習git的相關使用方法。

大致流程

  一、首先需要在github上註冊賬號並登陸,這個不多說了

  二、安裝git,到github官網下載安裝包。

     在這裡我用的是github for windows。安裝好後會有一個圖形介面和一個Git Shell。圖形介面還用不了^_^,就以Git Shell介紹下邊的內容吧

  三、為賬號新增新增ssh key

    clone專案到本地不需要身份認證,但要push修改到github上需要身份驗證。push修改時走ssh協議,所以這裡需要將我們的公鑰新增到github賬號中。這裡就是ssh實現無密碼登陸,或者所謂的公鑰登陸,就是採用了私鑰確定唯一身份的原理。

    1、生成金鑰對。執行Git Shell執行以下命令:

      

      一直按 enter鍵生成金鑰對,最終顯示這個畫面:

      

      這時在你的家目錄下的.ssh目錄下生成了id_rsa、id_rsa.pub兩個祕鑰檔案,我的是windows,所以在C:\Users\Administrator\.ssh目錄下。

    2、新增公鑰到github上

      點選github上的設定按鈕進入如下介面,然後點選SSH keys

      

      點選 Ad SSH key 開啟新增公鑰頁面:

        

     開啟生成的id_rsa.pub檔案,複製內容,注意不要變動其內容。然後貼上到上面的Key輸入框裡,Title輸入框可以隨便起個名字。然後點選 Add key即新增完成。

   3、在本地使用剛剛生成的私鑰,執行如下命令:

    

  四、fork你想參與的開源專案

     瀏覽git上的開源專案,然後點選fork,

    

    這時就跳轉到了你的賬號下,此專案就是你賬號下的一個專案了

    

    fork就相當於把別人的專案克隆到自己的賬號下一份,以後你的修改都應是提交到你自己github賬號下的這個專案中,你是沒有許可權直接push到原作者賬號下的專案中的

  五、clone專案到本地

    1、複製專案clone地址

      注意是clone自己賬號下的專案地址,不是原作者的,原作者的你雖然也可以clone到本地,但是你是沒push許可權的。還要注意這裡我們們使用ssh協議,所以要選擇ssh型別的地址,如圖:

      

    2、clone 到本地,

       在命令列下 輸入 git clone 並將複製的地址新增上,然後執行

      

      然後就可以cd進專案目錄了

  六、將專案原地址新增為遠端倉庫

    複製原作者的專案地址,新增為自己的一個遠端倉庫,用來實時將原專案的修改更新到我們們本地併合並。注意也是複製ssh協議型別的地址哦

      

    使用 git remote -v可以看到我們有兩個倉庫一個origin,我們們自己的github倉庫;一個upstream,原作者的遠端倉庫。當然也可以不用upstream這個名字。

  七、建立branch,用於新增自己的修改

    這只是一個約定成俗的方式,當然你也可以在master上新增修改,建立新的branch新增自己的修改的好處是,你可以同時新增多個修改,在一個修改還沒有被原作者merge時,你可以用master建立新的branch繼續你的其它修改。

    在這裡我們在新新增的分支上修改:執行如下命令

      git branch test  //建立你test分支

      git checkout test//切換到test分支

    然後就可以新增我們的修改了

  八、將修改push到我們的github上

    由於我們的github上還沒有test分支,所以我們得把命令寫全了:git push origin test:test

  九、pull request

    你的修改已經push到了你的github下了,但是你要向原作者請求合併到原專案中,如果原作者合併了,也就意味著你是此專案的貢獻者了。

    到你的github上點選如下按鈕

    

    當然你也可以選擇test分支,,然後點選專案右邊的建立一個pull request。

    提交完pull request,原作者就會看到你的合併請求,採不採納就是他的事了^_^。

 

注意事項

  1、clone時一定要注意選擇ssh協議的連結。否則可能導致clone失敗,或者後續push失敗

  2、將公鑰新增到github後,一定要更新自己當前的私鑰(命令:ssh-add ~/.ssh/id_rsa),否則會push失敗

相關文章