單元 8 · GitLab vs GitHub

詳細比較與選型建議 — The Big Comparison

本課重點:GitHub 與 GitLab 都「建在 Git 之上」,功能大量重疊—— 但哲學、託管模式、CI/CD 設計截然不同。這一章從七個面向拆解,最後給你選型建議。

1. 定位與哲學 · Positioning

GitHubGitLab
核心定位 程式碼社群與生態——最大的開源社群 一體化 DevOps 平台——完整生命週期
哲學 「平台」:整合第三方、市集生態 「單一產品」:全功能內建、一處搞定
背後 Microsoft 旗下 GitLab Inc.(也自行開發開源版)
網址 github.com gitlab.com / 自架

2. 術語對照 · Terminology

學會這張表,兩邊的介面瞬間互通:

概念GitHubGitLab
程式碼容器RepositoryProject
合併請求Pull Request(PR)Merge Request(MR)
組織OrganizationGroup(可巢狀 Subgroup)
CI/CDGitHub ActionsGitLab CI/CD
靜態網站GitHub PagesGitLab Pages
看板ProjectsIssue Boards
AI 助手GitHub CopilotGitLab Duo
CLIghglab
登錄庫GHCR + 需另接 Docker Hub內建 Container Registry
主分支名mainmain(舊專案 master)

3. 託管模式 · Hosting(關鍵差異)

GitHub
公有雲為主(github.com)
自架:GitHub Enterprise Server
      閉源、需付費、功能受限
幾乎所有人用同一朵雲
GitLab
公有雲:GitLab.com
自架:GitLab CE / EE
      CE 完整開源、可免費自架
自架是 GitLab 的招牌能力
一句話:如果你需要「程式碼與 CI 完全留在自家伺服器」——GitLab 自架是主流答案; GitHub 的自架(Enterprise Server)閉源且貴。

4. CI/CD 比較

GitHub ActionsGitLab CI/CD
內建程度 平台功能,需在 repo 加 workflow 產品核心,原生整合(MR 頁即見 pipeline)
語法 .github/workflows/*.yml .gitlab-ci.yml
執行機器 GitHub-hosted runner(免費額度)+ 自架 共享 runner + 自架 runner(常見做法)
市集/重複使用 豐富的 Actions Marketplace CI 組件(components)、可引用其他專案 CI
深度整合 需串接外部服務 內建 container registry、環境部署、review apps
上手曲線 市集幫你快速拼 自己寫較多,但彈性大
觀察:GitHub Actions 靠「巨大市集」取勝;GitLab CI 靠「與平台深度整合+自架 runner」取勝。

5. 審查流程比較

GitHubGitLab
合併請求 PR MR
批准門檻 Branch protection 基本要求(進階需付費) Approval rules 很細(免費即有),可依路徑/角色設定
討論 留言串 留言串 + resolve thread(標記已解決)
合併佇列 Merge queue(部分方案) Merge train(企業功能)
自動合併 Auto-merge Merge when pipeline succeeds

6. AI 功能

GitHub CopilotGitLab Duo
定位程式碼補全與對話助手DevOps 全生命週期 AI(補全、review、測試、流程)
取得獨立訂閱方案內含/加購
整合編輯器 + 網頁編輯器 + MR + CI + 監控

7. 開源程度 · Open Source

GitHub
核心閉源
(GitHub 本身不是開源專案)
程式碼生態是「開源的」,平台不是
自架:Enterprise(付費)
GitLab
CE(社群版)MIT 完整開源
任何人都能安裝、檢視、改寫
EE 在開源核心上疊加企業功能
「平台本身也是開源專案」
這個差異很根本:GitLab 本身就是「開源專案」——這對「程式碼必須留公司」或 「想自己掌控平台」的團隊是決定性因素。

8. 價格概覽 · Pricing

GitHubGitLab
免費公開 repo 全免費、私有 repo 有限額度、Actions 免費分鐘GitLab.com 免費額度、CE 自架全免費
個人付費Pro(約 4 USD/月)Premium(約 19 USD/月)
企業Team / EnterprisePremium / Ultimate
自架Enterprise Server(貴)CE 免費;EE 可評估

價格隨時調整,請以官方定價為準——這裡是相對感受:GitHub 個人版便宜、GitLab 自架成本低。

9. 生態與社群

GitHubGitLab
開源社群世界最大(億級使用者、絕大多數開源專案)較小,但自架/企業採用穩定
第三方整合市集、App、隨處可見的 GitHub 支援內建較多、API 完整,第三方較少
求職加分幾乎必備加分但較少被要求
發現專案探索、trending 強大較弱

10. 功能總覽對照

功能GitHubGitLab
版本控制 / Issues / Wiki
合併請求審查✅(批准規則更細)
CI/CD✅ Actions✅ 內建 CI
容器登錄庫✅ GHCR(較新)✅ 內建(較早)
靜態網站✅ Pages✅ Pages
完全自架⚠️ 付費企業版✅ CE 免費開源
整合第三方✅ 強(市集)✅ 可(API/元件)
社群規模✅ 巨大⚠️ 較小

11. 選型建議 · Which to Choose

選 GitHub 如果…

選 GitLab 如果…

兩者皆可的

只是「個人用雲端放程式碼」——兩個都免費、都夠用,挑順手的即可。很多人也同時用兩者。

結論一句話:GitHub 贏在生態與社群,GitLab 贏在一體化與自架。 最常見的選型邏輯:開源/找工作 → GitHub;企業自架/資安 → GitLab。
看完這頁你應該能說出:
  • GitHub 與 GitLab 的核心定位差異。
  • 完整術語對照(Repo↔Project、PR↔MR 等)。
  • 為什麼自架是 GitLab 的招牌、GitHub 的痛點。
  • CI/CD 的兩種設計哲學(市集 vs 內建)。
  • 開源程度與價格的差異。
  • 根據情境做出選型判斷。

延伸閱讀