我們一直用GitHub作為免費的遠程倉庫,如果是個人的開源項目,放到GitHub上是完全沒有問題的。其實GitHub還是一個開源協作社區,通過GitHub,既可以讓別人參與你的開源項目,也可以參與別人的開源項目。
在GitHub出現以前,開源項目開源容易,但讓廣大人民群眾參與進來比較困難,因為要參與,就要提交代碼,而給每個想提交代碼的群眾都開一個賬號那是不現實的,因此,群眾也僅限于報個bug,即使能改掉bug,也只能把diff文件用郵件發過去,很不方便。
但是在GitHub上,利用Git極其強大的克隆和分支功能,廣大人民群眾真正可以第一次自由參與各種開源項目了。
如何參與一個開源項目呢?比如人氣極高的bootstrap項目,這是一個非常強大的CSS框架,你可以訪問它的項目主頁https://github.com/twbs/bootstrap,點“Fork”
就在自己的賬號下克隆了一個bootstrap倉庫,然后,從自己的賬號下clone
:
git clone git@github.com:XXX/bootstrap.git //XXX是自己的github賬號
一定要從自己的賬號下clone
倉庫,這樣你才能推送修改。如果從bootstrap
的作者的倉庫地址git@github.com:twbs/bootstrap.git
克隆,因為沒有權限,你將不能推送修改。
Bootstrap的官方倉庫twbs/bootstrap
、你在GitHub上克隆的倉庫my/bootstrap
,以及你自己克隆到本地電腦的倉庫,他們的關系就像下圖顯示的那樣:
如果你想修復bootstrap的一個bug
,或者新增一個功能,立刻就可以開始干活,干完后,往自己的倉庫推送。
如果你希望bootstrap的官方庫能接受你的修改,你就可以在GitHub上發起一個pull request
。當然,對方是否接受你的pull request
就不一定了。
小結
在GitHub上,可以任意Fork
開源倉庫;
自己擁有Fork
后的倉庫的讀寫權限;
可以推送pull request
給官方倉庫來貢獻代碼。