GitHub 簡介

已完成

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

您可以裝載及檢閱程式代碼、管理專案,以及與 4000 萬開發人員一起從開放原始碼到企業建置軟體。

GitHub 是 Git 存放庫裝載服務,可新增許多功能。

雖然 Git 是命令行工具,但 GitHub 提供以 Web 為基礎的圖形化介面。

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

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

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

GitHub 提供哪些功能?

  • 將程式碼自動化至雲端:使用 GitHub 套件和 GitHub Actions 內建的 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 資料夾發佈您的 Pages。
  • 管理您的想法:儘早協調、保持一致,並使用 GitHub 的專案管理工具完成更多工作。

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

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

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