第一章 歡迎來(lái)到GitHub的世界
1.1 什么是 GitHub
GitHub 是為開(kāi)發(fā)者提供 Git 倉(cāng)庫(kù)的托管服務(wù)哮翘。還為開(kāi)發(fā)者或團(tuán)隊(duì)提供了一系列功能残制,幫助其高效率涩哟、高品質(zhì)地進(jìn)行代碼編寫(xiě)救鲤。
1.2 使用 GitHub 會(huì)帶來(lái)哪些變化
-
Pull Request
Pull Request 是指開(kāi)發(fā)者在本地對(duì)源代碼進(jìn)行更改后忿檩,向 GitHub 中托管的 Git 倉(cāng)庫(kù)請(qǐng)求合并的功能。開(kāi)發(fā)者可以在 Pull Request 上通過(guò)評(píng)論交流介蛉。
GitHub 的 Pull Request 不但能輕松查看源代碼的前后差別,還可以對(duì)指定的一行代碼進(jìn)行評(píng)論溶褪。 -
對(duì)特定用戶進(jìn)行評(píng)論
任務(wù)管理和 BUG 報(bào)告可以通過(guò) Issue 進(jìn)行交互币旧。任務(wù)管理和 BUG 報(bào)告可以通過(guò) Issue 進(jìn)行交互。如果想讓特定用戶來(lái)看猿妈,只要用“@ 用戶名”的格式書(shū)寫(xiě)吹菱,對(duì)方便會(huì)接到通知(Notifications)巍虫,查看 Issue。
-
GitHub Flavored Markdown
在 GitHub 上鳍刷,用戶所有用文字輸入的功能都可以用 GitHub Flavored Markdown(GFM)語(yǔ)法進(jìn)行描述占遥。這個(gè)語(yǔ)法可以讓標(biāo)記變得簡(jiǎn)單,以此寫(xiě)出的評(píng)論與文檔也會(huì)更容易理解输瓜。
-
@的其他用法
GitHub 中可使用的描述方法并不止“@ 用戶名”一種瓦胎。
輸入“@ 組織名”可以讓屬于該 Organization(組織)的所有成員收到通知。
輸入“@ 團(tuán)隊(duì)名”可以讓該團(tuán)隊(duì)的所有成員收到通知尤揣。這就是同時(shí)向多人發(fā)送通知的方法搔啊。
輸入“# 編號(hào)”,會(huì)連接到該倉(cāng)庫(kù)所對(duì)應(yīng)的 Issue 編號(hào)北戏。 輸入“用戶名 / 倉(cāng)庫(kù)名 # 編號(hào)”則可以連接到指定倉(cāng)庫(kù)所對(duì)應(yīng)的 Issue 編號(hào)负芋。 -
能看到更多其他團(tuán)隊(duì)的軟件
只要將感興趣的倉(cāng)庫(kù)添加至 Watch 中,就可以在 News Feed 查 看該倉(cāng)庫(kù)的相關(guān)信息嗜愈。
-
與開(kāi)源軟件相同的開(kāi)發(fā)模式
已經(jīng)熟悉開(kāi)源軟件開(kāi)發(fā)的開(kāi)發(fā)者不必專(zhuān)門(mén)去學(xué)習(xí)企業(yè)獨(dú)自采用的工具旧蛾,就可以直接加入到開(kāi)發(fā)行列。開(kāi)源軟件世界的軟件開(kāi)發(fā)與企業(yè)內(nèi)的軟件開(kāi)發(fā)將不再有隔閡蠕嫁。
1.3 社會(huì)化編程
??GitHub 這一服務(wù)創(chuàng)造了社會(huì)化編程的概念蚜点。隨著 GitHub 的出現(xiàn),軟件開(kāi)發(fā)者們才真正意義上擁有了源代碼拌阴。世界上任何人都可以比從前更加容易地獲得源代碼绍绘,將其自由更改并加以公開(kāi)。
??GitHub 的出現(xiàn)為軟件開(kāi)發(fā)者的世界帶來(lái)了真正意義上的“民主”迟赃,讓所有人都平等地?fù)碛辛烁脑创a的權(quán)利陪拘。
1.4 為什么需要社會(huì)化編程
理解社會(huì)化編程和 GitHub 至關(guān)重要
- 不要閉目塞聽(tīng),要接觸不同的文化
- 會(huì)寫(xiě)代碼的程序員更受青睞
- GitHub 最大的特征是“面向人”
??今后纤壁,進(jìn)行社會(huì)化編程的程序員會(huì)越來(lái)越多左刽,從而成為一種普遍現(xiàn)象。在不遠(yuǎn)的將來(lái)酌媒,應(yīng)聘的成功與否將取決于您曾經(jīng)編寫(xiě)過(guò)的代碼欠痴。因此,面向全世界的代碼公開(kāi)必將越發(fā)重要秒咨。以編寫(xiě)代碼為生的職業(yè)程序員們喇辽,更應(yīng)該進(jìn)行社會(huì)化編程。
1.5 GitHub 提供的主要功能
- Git 倉(cāng)庫(kù)
一般情況下雨席,我們可以免費(fèi)建立任意個(gè) GitHub 提供的 Git 倉(cāng)庫(kù)菩咨。
- Organization
它的優(yōu)點(diǎn)在于可以統(tǒng)一管理賬戶和權(quán)限,還能統(tǒng)一支付一些費(fèi)用。
- Issue
將一個(gè)任務(wù)或問(wèn)題分配給一個(gè) Issue 進(jìn)行追蹤和管理的功能抽米。
- Wiki
任何人都能隨時(shí)對(duì)一篇文章進(jìn)行更改并保存特占,因此可以多人共同完成一篇文章。該功能常用在開(kāi)發(fā)文檔或手冊(cè)的編寫(xiě)中云茸。
- Pull Request
??開(kāi)發(fā)者向 GitHub 的倉(cāng)庫(kù)推送更改或功能添加后是目,可以通過(guò) Pull Request 功能向別人的倉(cāng)庫(kù)提出申請(qǐng),請(qǐng)求對(duì)方合并标捺。
??Pull Request 送出 后懊纳,目標(biāo)倉(cāng)庫(kù)的管理者等人將能夠查看 Pull Request 的內(nèi)容及其中包含的代碼更改。
??同時(shí)宜岛,GitHub 還提供了對(duì) Pull Request 和源代碼前后差別進(jìn)行討論的功能长踊。通過(guò)此功能,可以以行為單位對(duì)源代碼添加評(píng)論萍倡,讓程序員之間高效地交流身弊。
1.6 小結(jié)
??本章就實(shí)現(xiàn)了社會(huì)化編程的 GitHub 進(jìn)行了講解。