單元 5 · Issues 與專案管理

把任務、bug 與計畫管起來 — Issues & Projects

程式碼之外,GitHub 也提供完整的專案管理工具——讓「要做什麼、做到哪了」清清楚楚。

Issues · 任務與 Bug 追蹤

Issue 是「一件事」的討論單:可以是 bug、新功能、問題、或任何待辦。 每個 issue 有獨立編號(#12),可留言、指派、標籤、里程碑。

Issue 寫法 · FORMAT
標題:登入頁在 Safari 上空白
描述:
  步驟再現:
  1. 開啟 Safari
  2. 到 /login
  3. 畫面空白
  預期:顯示登入表單
  環境:Safari 17, macOS 14
好 Issue 的原則:「標題一行講清」+「步驟可再現」+「預期 vs 實際」。 用模板(.github/ISSUE_TEMPLATE/)能讓大家填得一致。

Labels · 標籤分類

用顏色標籤把 issue 分類,一眼看出性質:

常見標籤 · LABELS
bug          # 紅:壞掉了
enhancement  # 藍:新功能
good first issue  # 綠:適合新手(開源常用)
help wanted  # 綠:徵求協助
documentation # 灰:文件

Milestones · 里程碑

把一群 issue 歸到一個「里程碑」,設定截止日,追蹤整體進度。

Milestone 範例 · EXAMPLE
v1.0 發布  (截止:2026-10-01)
  ├─ #10 修復登入 bug    (open)
  ├─ #12 新增搜尋        (open)
  └─ #15 文件更新        (closed)
  進度:1/3 完成

Projects · 看板專案

類似 Trello 的看板,用欄位(To do / In progress / Done)拖曳管理卡片。

看板 · BOARD
┌─ To do ──┬─ In progress ──┬─ Done ──┐
│ #10 修bug│ #12 新增搜尋    │ #15 文件 │
│ #18 測試 │                 │          │
└──────────┴─────────────────┴──────────┘
卡片可來自 Issue,合併後自動移動(用自動化規則)。

Discussion · 討論區

比 Issue 更適合「開放討論」的空間(Q&A、想法、公告)——不一定要轉成任務。

Wiki · 文件

repo 附帶的簡易文件站(用 Markdown 寫)。適合放使用手冊、設計文件等較長的內容。

分工建議: README = 專案門面(精簡);Wiki = 詳細文件;Issues = 任務與 bug;Discussions = 討論與問答。

把 Issue 與 PR 連起來

完整的工作流循環:

工作流 · WORKFLOW
1. 開 Issue(描述任務/bug)
2. 開分支 → 開發 → 開 PR
3. PR 描述寫「Closes #12」
4. 合併 → Issue 自動關閉
5. 看板/里程碑進度自動更新
看完這頁你應該能說出:
  • Issue 是什麼、好的 Issue 怎麼寫。
  • Labels、Milestones、Projects 各自管理什麼。
  • Discussion 與 Wiki 的定位。
  • Issue → PR → Closes 的完整循環。

延伸閱讀