歡迎光臨
每天分享高質量文章

被稱為“開發者神器”的GitHub,到底該怎麼用?

導讀:GitHub是一個擁有數十億行程式碼的網站,每天有數百萬開發者聚集在一起,研究開源軟體中存在的問題。開發人員每天都要在工作中使用GitHub或其他基於Git的工具。GitHub是面向開源及私有軟體專案的託管平臺。那麼什麼是GitHub?其中都有哪些關鍵的概念?如何使用GitHub才能提高工作效率?

簡而言之,它是為軟體開發人員構建的平臺,是圍繞Git構建的。

00 為什麼選擇GitHub?

現在你知道了GitHub是什麼,你可能會問為什麼需要使用GitHub。

畢竟,GitHub由一傢俬人公司管理並且該公司透過託管程式碼獲利。 那麼為什麼應該使用GitHub而不是像BitBucket或GitLab這樣的平臺呢?

除個人喜好和技術原因外,還有一個重要原因:每個人都在使用GitHub,因此其網路效應不可小覷。

主要的程式碼庫已經隨著時間的推移從其他版本控制系統遷移到Git,因為它更加便捷,並且GitHub投入了大量的努力來滿足開源社群的需求。

所以今天,你在查詢一些軟體庫時,99%的情況下會在GitHub上找到它。

除了開原始碼之外,許多開發人員還在GitHub上託管私有儲存庫,因為平臺很方便。

現在讓我們瞭解一下開發人員需要知道的有關Git的概念。

01 GitHub Issues

Github Issues是世界上最受歡迎的bug跟蹤系統之一。

專案的所有者可以利用它組織,標記和將issue與里程碑關聯。

如果您在其他人管理的專案上開啟某個issue,它將保持開啟狀態,直到您將其關閉(例如,如果您找到了問題所在)或者專案管理者關閉這個issue。

有時候你會得到一個明確的答案,而其他時候,這個issue將會被開啟並標記出一些分類資訊。 然後開發人員可以回到這個issue來解決問題或根據反饋改進程式碼庫。

大多數開發人員不會免費管理在GitHub上釋出的程式碼,因此您不能期望即時回覆。 但是一些開放原始碼庫由那些圍繞該程式碼提供服務的公司釋出,它們會提供具有更多功能的版本或者使用基於外掛的系統。 這些公司已經為開源專案付給開發人員工資。

02 社會編碼

幾年前,GitHub標誌出現了“社交編碼”。

這是什麼意思,和GitHub有什麼關係呢?

03 Follow

使用GitHub,您可以透過訪問使用者的個人資料並單擊“關註”,或者透過單擊軟體庫上的“觀看”按鈕來關註開發人員或軟體庫。

在這兩種情況下,活動都會顯示在您的dashboard中。關註使用者或軟體庫跟Twitter上的關註不一樣,你看不見人們說什麼,而可以看到人們在做什麼。

04 Star

GitHub的一大特色就是能夠為軟體庫加星標。使用者可以透過這個操作將其他軟體庫加入到“已加星標的軟體庫”串列中,這樣使用者可以關註自己感興趣的專案併發現類似的專案。

這也是最重要的評級機制之一,因為軟體庫的星星越多,它通常就越受歡迎和重要。它在搜尋結果中也會位於更突出的位置。

重大專案可能有數萬顆星。

GitHub也有一個trending頁面,它會推薦在特定時間段內(例如今天或本週或本月)獲得最多星星的軟體庫。

05 Fork

專案最後一個重要的網路指標是fork的數量。

這是GitHub如何工作的關鍵,因為fork是Pull Request(PR)的基礎,這是一個更改提議。一個人可能會fork您的軟體庫,進行一些更改,然後建立一個PR來要求您合併這些更改。

有時fork軟體庫的人可能永遠不會要求你合併任何東西。他們可能會因為喜歡你的程式碼而fork你的軟體庫,併在上面新增一些他們不想合併到原始軟體庫的東西。使用者還可以修複他們遇到的bug。

06 受歡迎=更好

總而言之,這些都是專案受歡迎程度的關鍵指標。 除了上述指標之外,最近一次提交的日期和作者參與issue跟蹤系統的資訊也是衡量軟體庫或軟體可信度的標準之一。

07 PR(Pull Request)

在前一節中,我介紹了Pull Request(PR)是什麼。 重申一下,一個人可能會fork你的軟體庫,做一些改變,然後建立一個PR來要求你合併這些改變。

一個專案可能有數百個PR,通常情況下,專案越受歡迎,它的PR越多,如React專案:

一旦一個人提交了PR請求,專案的核心維護者就會對其進行審查。

根據請求範圍(更改次數,受更改影響的事件數量或涉及到的程式碼的複雜程度),維護人員可能需要不等的時間來確保更改與專案相容。

一個專案可能有有關改進的明確時間表。維護人員希望使用者用盡可能簡單的方式介紹PR中的體系結構。

這就是說,PR並不總是被立馬接受,並且可能不會被接受。

在我上面的例子中,軟體庫中有一個一年半前的PR。這在所有專案中都會發,很正常,可能是由於我上面提到的原因。

08 專案管理

除了issues(開發人員獲得使用者反饋的地方)外,GitHub介面還提供了少量專案管理功能。

其中之一是Projects。它在生態系統中是非常新的,也很少被使用,但它是幫助使用者組織需要完成的問題和工作的看板。

Wiki可以被用作檔案。另一個受歡迎的專案管理功能是里程碑。它是issue頁面的一部分,您可以將問題分配給特定的里程碑,可能是釋出標的。

說到釋出,GitHub透過引入釋出增強了Git的標簽功能。

Git標簽是特定commit的指標,如果完成時間一致,它可以幫助您回到之前版本的程式碼,並且無需取用特定的commit。

GitHub釋出版建立在Git標簽的基礎上,代表程式碼的完整版本,也可能代表程式碼最終產品完整工作版本的Zip檔案,發行說明和二進位制資產。

儘管可以透過程式設計建立Git標簽(例如,使用命令列git程式),但建立GitHub版本是手動過程,在GitHub UI上進行。使用者可以利用GitHub建立一個新版本,並選擇你想應用的標簽。

09 比較commits

GitHub提供了很多處理程式碼的工具。

您可能最希望做的事情之一是將一個分支與另一個分支進行比較。 或者您可能希望將最新的commit與您當前使用的版本進行比較,以便隨時檢視更改。

使用者可以利用GitHub比較檢視執行此操作:只需在軟體庫名稱末尾新增/compare即可。

例如,https://github.com/facebook/react/compare

在下圖中,我將最新的React v15.x與最新v16.0.0-rc版本進行了比較,方便大家瞭解更改的內容。

該檢視向您展示了兩個版本(或標簽或commits)之間的不同以及實際差異。

10 Webhooks和服務

GitHub提供了許多有助於開發人員工作流程的功能,例如webhook和服務。

1. Webhooks

當軟體庫中出現特定問題時,Webhook可以觸發外部服務,例如,推送程式碼時,建立分支或刪除標簽。

當問題發生時,GitHub會給URL傳送POST請求。

當我們從本地計算機推送更新時,此功能能ping遠端伺服器以從GitHub獲取最新程式碼。

2. 服務

GitHub服務和新的GitHub應用程式是第三方整合程式,可改善開發者的體驗或為使用者提供服務。

例如,您可以設定一個測試執行器,這樣每次TravisCI推送新commits時,它可以自動執行測試。

您可以設定Continuous Integration來使用CircleCI。您也可以建立一個Codeclimate整合程式來分析程式碼並建立“Technical Debt”報告和測試改寫率。

小結

GitHub是一個了不起的工具和服務平臺,是當今開發人員可以利用的真正神器。本教程只是入門級,但在GitHub上工作是不容錯過的。

作者:果果

來源:36氪

原文作者:Flavio Copes

原文連結:https://medium.freecodecamp.org/a-developers-introduction-to-github-1034fa55c0db

推薦閱讀


全球100款大資料工具彙總(前50款)

大資料時代的10個重大變革

日本老爺爺堅持17年用Excel作畫,我可能用了假的Excel···

為什麼要學數學?因為這是一場戰略性的投資

Q: 你在GitHub玩得6嗎?

歡迎留言與大家分享

覺得不錯,請把這篇文章分享給你的朋友

轉載 / 投稿請聯絡:baiyu@hzbook.com

更多精彩文章,請在公眾號後臺點選“歷史文章”檢視

贊(0)

分享創造快樂