本課重點:GitHub 與 GitLab 都「建在 Git 之上」,功能大量重疊——
但哲學、託管模式、CI/CD 設計截然不同。這一章從七個面向拆解,最後給你選型建議。
1. 定位與哲學 · Positioning
| GitHub | GitLab |
| 核心定位 |
程式碼社群與生態——最大的開源社群 |
一體化 DevOps 平台——完整生命週期 |
| 哲學 |
「平台」:整合第三方、市集生態 |
「單一產品」:全功能內建、一處搞定 |
| 背後 |
Microsoft 旗下 |
GitLab Inc.(也自行開發開源版) |
| 網址 |
github.com |
gitlab.com / 自架 |
2. 術語對照 · Terminology
學會這張表,兩邊的介面瞬間互通:
| 概念 | GitHub | GitLab |
| 程式碼容器 | Repository | Project |
| 合併請求 | Pull Request(PR) | Merge Request(MR) |
| 組織 | Organization | Group(可巢狀 Subgroup) |
| CI/CD | GitHub Actions | GitLab CI/CD |
| 靜態網站 | GitHub Pages | GitLab Pages |
| 看板 | Projects | Issue Boards |
| AI 助手 | GitHub Copilot | GitLab Duo |
| CLI | gh | glab |
| 登錄庫 | GHCR + 需另接 Docker Hub | 內建 Container Registry |
| 主分支名 | main | main(舊專案 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 Actions | GitLab 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. 審查流程比較
| GitHub | GitLab |
| 合併請求 |
PR |
MR |
| 批准門檻 |
Branch protection 基本要求(進階需付費) |
Approval rules 很細(免費即有),可依路徑/角色設定 |
| 討論 |
留言串 |
留言串 + resolve thread(標記已解決) |
| 合併佇列 |
Merge queue(部分方案) |
Merge train(企業功能) |
| 自動合併 |
Auto-merge |
Merge when pipeline succeeds |
6. AI 功能
| GitHub Copilot | GitLab Duo |
| 定位 | 程式碼補全與對話助手 | DevOps 全生命週期 AI(補全、review、測試、流程) |
| 取得 | 獨立訂閱 | 方案內含/加購 |
| 整合 | 編輯器 + 網頁 | 編輯器 + MR + CI + 監控 |
7. 開源程度 · Open Source
GitHub
核心閉源
(GitHub 本身不是開源專案)
程式碼生態是「開源的」,平台不是
自架:Enterprise(付費)
GitLab
CE(社群版)MIT 完整開源
任何人都能安裝、檢視、改寫
EE 在開源核心上疊加企業功能
「平台本身也是開源專案」
這個差異很根本:GitLab 本身就是「開源專案」——這對「程式碼必須留公司」或
「想自己掌控平台」的團隊是決定性因素。
8. 價格概覽 · Pricing
| GitHub | GitLab |
| 免費 | 公開 repo 全免費、私有 repo 有限額度、Actions 免費分鐘 | GitLab.com 免費額度、CE 自架全免費 |
| 個人付費 | Pro(約 4 USD/月) | Premium(約 19 USD/月) |
| 企業 | Team / Enterprise | Premium / Ultimate |
| 自架 | Enterprise Server(貴) | CE 免費;EE 可評估 |
價格隨時調整,請以官方定價為準——這裡是相對感受:GitHub 個人版便宜、GitLab 自架成本低。
9. 生態與社群
| GitHub | GitLab |
| 開源社群 | 世界最大(億級使用者、絕大多數開源專案) | 較小,但自架/企業採用穩定 |
| 第三方整合 | 市集、App、隨處可見的 GitHub 支援 | 內建較多、API 完整,第三方較少 |
| 求職加分 | 幾乎必備 | 加分但較少被要求 |
| 發現專案 | 探索、trending 強大 | 較弱 |
10. 功能總覽對照
| 功能 | GitHub | GitLab |
| 版本控制 / Issues / Wiki | ✅ | ✅ |
| 合併請求審查 | ✅ | ✅(批准規則更細) |
| CI/CD | ✅ Actions | ✅ 內建 CI |
| 容器登錄庫 | ✅ GHCR(較新) | ✅ 內建(較早) |
| 靜態網站 | ✅ Pages | ✅ Pages |
| 完全自架 | ⚠️ 付費企業版 | ✅ CE 免費開源 |
| 整合第三方 | ✅ 強(市集) | ✅ 可(API/元件) |
| 社群規模 | ✅ 巨大 | ⚠️ 較小 |
11. 選型建議 · Which to Choose
選 GitHub 如果…
- 你在找開源專案或想參與開源——GitHub 是主場。
- 想要最豐富的 Actions 市集與生態。
- 只想用公有雲、不需要自架。
- 求職/作品集曝光。
選 GitLab 如果…
- 需要完全自架(程式碼與 CI 不出公司)——法規、資安、隱私需求。
- 想要一個產品搞定 DevOps,少接第三方。
- 需要細緻的批准規則(免費即有)。
- 認同開源平台理念。
兩者皆可的
只是「個人用雲端放程式碼」——兩個都免費、都夠用,挑順手的即可。很多人也同時用兩者。
結論一句話:GitHub 贏在生態與社群,GitLab 贏在一體化與自架。
最常見的選型邏輯:開源/找工作 → GitHub;企業自架/資安 → GitLab。
看完這頁你應該能說出:
- GitHub 與 GitLab 的核心定位差異。
- 完整術語對照(Repo↔Project、PR↔MR 等)。
- 為什麼自架是 GitLab 的招牌、GitHub 的痛點。
- CI/CD 的兩種設計哲學(市集 vs 內建)。
- 開源程度與價格的差異。
- 根據情境做出選型判斷。
延伸閱讀