GitHub 簡介

已完成

GitHub 是世界上最大的開放原始碼社群。 Microsoft 擁有 GitHub。 GitHub 是受您工作方式啟發的開發平台。

您可以裝載和檢閱程式碼、管理專案,以及與 4000 萬個開發人員一起開發從開放原始碼到商務的軟體。

GitHub 是 Git 存放庫裝載服務,加入了許多功能。

雖然 Git 是命令列工具,但 GitHub 提供 Web 型圖形化介面。

其也會提供存取控制和數個共同作業功能,例如 Wiki 和每個專案的基本工作管理工具。

那麼,使用 GitHub 的主要優點是什麼? 幾乎每個開放原始碼專案都會使用 GitHub 來管理其專案。

如果您的專案是開放原始碼,且包含 Wiki 和問題追蹤器,則使用 GitHub 是免費的,這可讓您輕鬆具有更深入的文件,並取得有關專案的意見反應。

GitHub 提供哪一些功能?

  • 從程式碼到雲端進行自動化:更快將您的生產程式碼循環,並使用 GitHub Actions 搭配 GitHub Packages 和內建 CI/CD,來簡化您的工作流程。

    • 將工作流程自動化:在您管理程式碼的同一位置中,以您想要的方式建置、測試、部署和執行 CI/CD。 從任何 GitHub 事件至任何可用的 API 觸發動作。 以您選擇的語言建置您的動作,或從社群所建立的數千個工作流程和動作中選擇。
    • 家用套件及其程式碼:使用動作自動將新的套件版本發佈至 GitHub Packages。 在 CI/CD 工作流程中,安裝 GitHub Packages 上裝載的套件和映像,或您慣用的套件登錄。 開放原始碼始終免費,而且動作內的資料傳輸對每個人而言都是無限制的。
  • 一起保護軟體:GitHub 會在保護全球程式碼方面扮演一種角色:開發人員、維護人員、研究人員和安全性小組。 在 GitHub 上,各地的開發小組可以一起合作,以保護全球的軟體供應鏈,從派生到完成。

    • 取得程式碼中弱點的相關警示:GitHub 會持續掃描熱門語言的安全性諮詢。 此外,其還會將安全性警示傳送給受影響存放庫的維護人員,其中包含詳細資料,讓您可以補救風險。
    • 自動更新弱點:GitHub 會監視您的專案相依性,並自動開啟提取要求,以將相依性更新為可解決已知弱點的最低版本。
    • 掌握 CVE:隨時通知我最新的常見弱點與漏洞 (CVE),並透過 GitHub Advisory Database 了解其對您有何影響。
    • 尋找其他工具遺漏的弱點:CodeQL 是業界領先的語意程式碼分析引擎。 GitHub 的革命性方法會將程式碼視為資料,以更快找出安全性弱點。
    • 消除變體:永遠不要犯相同的錯誤兩次。 主動式弱點掃描可防止弱點到達生產環境。
    • 確保權杖的安全:意外將權杖提交至公用存放庫? GitHub 了解您。 在 20 個服務提供者的支援下,GitHub 會採取步驟來確保您的安全。
  • 無縫程式碼檢閱:程式碼檢閱是取得更好程式碼的最可靠途徑,也是 GitHub 運作方式的基礎。 內建檢閱工具可讓程式碼檢閱成為小組流程不可或缺的一部分。

    • 建議變更:更好的程式碼從提取要求開始,這是一個關於變更的即時交談,您可以在其中談論想法、指派工作、討論詳細資料,以及進行檢閱。
    • 要求檢閱:如果您在檢閱的另一端,則可以要求同儕檢閱,以取得您需要的詳細意見反應。
    • 查看差異:當您確切知道變更了什麼時,檢閱會更快發生。 差異會比較原始程式碼的版本,醒目提示新的、已編輯或已刪除的組件。
    • 內容中的留言:討論發生在程式碼內的留言執行緒中 - 將這些留言組合成一個檢閱,或回覆排隊開始交談的其他人。
    • 提供清楚的意見反應:您的隊友應該不必過多思考豎起大拇指表情符號的含義。 指定您的留言是必要變更,還是只是一些建議。
    • 保護分支:只合併品質最高的程式碼。 您可以設定存放庫來要求狀態檢查,這會減少人為錯誤和系統管理額外負荷。
  • 您的所有程式碼和文件都放在一個地方:GitHub 上裝載數億個私人、公用和開放原始碼存放庫。 每個存放庫都有工具可協助您的主機、版本和發行程式代碼和檔。

    • 您共同作業的程式碼:存放庫會將程式碼保留在一個地方,並協助您的小組使用其喜歡的工具共同作業,即使您使用 Git LFS 來處理大型檔案也一樣。 您可以為個人和群組建立或匯入盡可能多的專案,其中具有無限制的私人存放庫。
    • 文件與您的程式碼放在一起:使用 GitHub Pages 直接從存放庫裝載您的文件。 使用 Jekyll 作為靜態網站產生器,並從主分支上的 /docs 資料夾發佈您的頁面。
  • 管理您的想法:提前協調、保持一致,並使用 GitHub 的專案管理工具完成更多工作。

    • 查看您專案的大型圖片:查看專案中發生的一切,並選擇要將小組的工作重點放在何處,其中專案和工作面板就位於其所屬位置:接近您的程式碼。
    • 追蹤和指派工作:問題可協助您識別、指派和追蹤小組內的工作。 您可以開啟問題來追蹤 Bug、使用 @mention 討論想法,或開始散發工作。
  • 軟體的人性面:建置軟體更多的是管理小組和社群,而不是編碼。 無論是兩人小組還是 2000 人小組,GitHub 都有您人員所需的支援。

    • 管理和發展小組:協助人員使用 GitHub 小組進行組織、提高層級來存取系統管理角色,以及使用巢狀小組微調您的權限。
    • 保持對話:仲裁工具 (例如問題和提取要求鎖定) 可協助您的小組專注於程式碼。 如果您維護開放原始碼專案,使用者封鎖會減少雜訊,並確保有生產力的對話。
    • 設定社群指導方針:設定角色和期望,無需從頭開始。 自訂標準管理辦法,為您的專案建立完美的管理辦法。 然後,直接從您的存放庫選擇預先撰寫的授權。

GitHub 為其平台提供了絕佳的學習資源。 您可以在這裡找到從 Git 簡介訓練到深入探討將靜態頁面發佈至 GitHub,以及如何在 GitHub 上執行 DevOps 的所有內容。