1. 程式人生 > >使用GitHub(十六)

使用GitHub(十六)

我們一直用 GitHub 作為免費的遠端倉庫,如果是個人的開源專案,放到 GitHub 上是完全沒有問題的。 其實 GitHub 還是一個開源協作社群,通過 GitHub ,既可以讓別人參與你的開源專案,也可以參與別人的開源專案。

GitHub 出現以前,開源專案開源容易,但讓廣大人民群眾參與進來比較困難, 因為要參與,就要提交程式碼,而給每個想提交程式碼的群眾都開一個賬號那是不現實的, 因此,群眾也僅限於報個 bug ,即使能改掉 bug ,也只能把diff檔案用郵件發過去,很不方便。

但是在 GitHub 上,利用Git極其強大的克隆和分支功能,廣大人民群眾真正可以第一次自由參與各種開源專案了。

 如何參與一個開源專案呢?比如人氣極高的 bootstrap 專案,這是一個非常強大的CSS框架,你可以訪問它的專案主頁https://github.com/twbs/bootstrap, 點 “Fork” 就在自己的賬號下克隆了一個 bootstrap 倉庫,如下:

然後,從自己的本地電腦存放的位置下 git clone,如下:

 一定要從自己的賬號下 git clone 倉庫,這樣你才能推送修改。 如果從 bootstrap 的作者的倉庫地址 [email protected]:twbs/bootstrap.git 克隆,因為沒有許可權,你將不能推送修改。

Bootstrap 的官方倉庫 twbs/bootstrap 、你在GitHub上克隆的倉庫 my/bootstrap ,以及你自己克隆到本地電腦的倉庫,他們的關係就像下圖顯示的那樣:


如果你想修復 bootstrap 的一個bug,或者新增一個功能,立刻就可以開始工作,完成之後,新增 git add ,提交 git commit ,往自己的遠端倉庫推送 git push

 如果你希望 bootstrap 的官方庫能接受你的修改,你就可以在GitHub上發起一個 pull request。當然,對方是否接受你的pull request就不一定了。如果你沒能力修改 bootstrap

,但又想要試一把 pull request ,那就 Fork 一下廖老師的倉庫:https://github.com/michaelliao/learngit,建立一個 your-github-id.txt 的文字檔案,寫點自己學習Git的心得,然後推送一個 pull request 給我,視情況而接受;

整個流程過程圖:
     Fork 一下開源專案的倉庫 → 在本地克隆GitHub遠端倉庫 → 在本地修改bug → 新增、提交、推送到自己的遠端倉庫 git push origin master  → new pull request  ;

小結

  1. 在GitHub上,可以任意Fork開源倉庫;

  2. 自己擁有Fork後的倉庫的讀寫許可權;

  3. 可以推送 pull request 給官方倉庫來貢獻程式碼。


轉自:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000