鍍金池/ 教程/ Java/ GitHub
操作標(biāo)簽
多人協(xié)作
解決沖突
Git 的誕生
工作區(qū)和暫存區(qū)
搭建 Git 服務(wù)器
Bug 分支
配置別名
從遠(yuǎn)程庫(kù)克隆
分支
添加遠(yuǎn)程庫(kù)
分支管理策略
撤銷修改
安裝 Git
管理修改
生成 SSH key
GitHub
倉(cāng)庫(kù)狀態(tài)
忽略特殊文件
刪除文件
Feature 分支
創(chuàng)建與合并分支
創(chuàng)建版本庫(kù)
創(chuàng)建標(biāo)簽
版本回退
集中式 vs 分布式

GitHub

我們一直用 GitHub 作為免費(fèi)的遠(yuǎn)程倉(cāng)庫(kù),如果是個(gè)人的開源項(xiàng)目,放到 GitHub 上是完全沒有問題的。其實(shí) GitHub 還是一個(gè)開源協(xié)作社區(qū),通過 GitHub,既可以讓別人參與你的開源項(xiàng)目,也可以參與別人的開源項(xiàng)目。

在 GitHub 出現(xiàn)以前,開源項(xiàng)目開源容易,但讓廣大人民群眾參與進(jìn)來(lái)比較困難,因?yàn)橐獏⑴c,就要提交代碼,而給每個(gè)想提交代碼的群眾都開一個(gè)賬號(hào)那是不現(xiàn)實(shí)的,因此,群眾也僅限于報(bào)個(gè) bug,即使能改掉 bug,也只能把 diff 文件用郵件發(fā)過去,很不方便。

但是在 GitHub 上,利用 Git 極其強(qiáng)大的克隆和分支功能,廣大人民群眾真正可以第一次自由參與各種開源項(xiàng)目了。

如何參與一個(gè)開源項(xiàng)目呢?比如人氣極高的 bootstrap 項(xiàng)目,這是一個(gè)非常強(qiáng)大的 CSS 框架,你可以訪問它的項(xiàng)目主頁(yè)https://github.com/twbs/bootstrap,點(diǎn)“Fork”就在自己的賬號(hào)下克隆了一個(gè) bootstrap 倉(cāng)庫(kù),然后,從自己的賬號(hào)下clone:

git clone git@github.com:michaelliao/bootstrap.git

一定要從自己的賬號(hào)下 clone 倉(cāng)庫(kù),這樣你才能推送修改。如果從 bootstrap 的作者的倉(cāng)庫(kù)地址 git@github.com:twbs/bootstrap.git克隆,因?yàn)闆]有權(quán)限,你將不能推送修改。

Bootstrap 的官方倉(cāng)庫(kù) twbs/bootstrap、你在 GitHub 上克隆的倉(cāng)庫(kù) my/bootstrap,以及你自己克隆到本地電腦的倉(cāng)庫(kù),他們的關(guān)系就像下圖顯示的那樣:

http://wiki.jikexueyuan.com/project/git-tutorial/images/github.png" alt="" />

如果你想修復(fù) bootstrap 的一個(gè) bug,或者新增一個(gè)功能,立刻就可以開始干活,干完后,往自己的倉(cāng)庫(kù)推送。

如果你希望 bootstrap 的官方庫(kù)能接受你的修改,你就可以在 GitHub 上發(fā)起一個(gè) pull request。當(dāng)然,對(duì)方是否接受你的 pull request 就不一定了。

如果你沒能力修改 bootstrap,但又想要試一把 pull request,那就 Fork 一下我的倉(cāng)庫(kù):https://github.com/michaelliao/learngit,創(chuàng)建一個(gè)your-github-id.txt的文本文件,寫點(diǎn)自己學(xué)習(xí) Git 的心得,然后推送一個(gè) pull request 給我。

小結(jié)

  • 在 GitHub 上,可以任意 Fork 開源倉(cāng)庫(kù);

  • 自己擁有 Fork 后的倉(cāng)庫(kù)的讀寫權(quán)限;

  • 可以推送 pull request 給官方倉(cāng)庫(kù)來(lái)貢獻(xiàn)代碼。
下一篇:分支