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。