Git Workflow · Pull Request

為什麼只有 Commit
不夠的?

Commit 能記錄改動,但它無法保護你的團隊。這就是 Pull Request 存在的原因。

繼續往下看
01 — 問題

直推 Master
的日常

每個人都直接推 commit 上 master,看起來沒什麼問題——直到有一天,出事了。

a3f92c1 fix: 修正登入頁樣式
b81d4e2 feat: 新增用戶通知功能
c99a0f3 update: 調整資料庫連線邏輯
d12b7c8 refactor: 整理 API 結構
e45f2a1 fix: 修正金額計算錯誤

↑ 哪一個 commit 讓整個系統壞掉了?你要花多久找出來?

02 — 轉折

Commit 是草稿。
PR 是整理好的簡報。
都能看,但哪一個
讓你更快理解發生了什麼?

技術上,commit 什麼都能做到——可以看、可以 revert。但當 commit 全部混在 master 裡, 要找問題、要回溯、要讓新成員理解,代價會隨著時間急速放大。

03 — 好處

PR 給你
三層保護

🔍
可追蹤性

每個 PR 都有標題、描述、討論串。一個功能做了什麼、為什麼這樣做、當初有什麼爭議—— 三個月後回來看,一眼就清楚。

🛡️
保護 Master 穩定

壞的程式碼在進 master 之前就被攔截。不需要等上線才發現問題, 也不需要在緊急時刻手忙腳亂地 hotfix。

精準復原

PR 是完整的單位。出問題只需要 revert 那個 PR,乾淨俐落, 不會影響其他人的工作,也不會引發新的 conflict。

04 — 比較

直接對比
看清楚差異

沒有 PR
Commit

散落的草稿筆記。要自己串聯脈絡,出問題時要一條一條翻,revert 時容易誤傷其他 commit。

有 PR
Pull Request

整理好的簡報。完整的功能單位,有說明有討論,revert 一個按鈕搞定,新人也能快速理解。

從明天開始
三個步驟導入

01 說服團隊 — 用真實發生過的問題開場,讓大家感受到痛點
02 設 Branch Protection — GitHub Settings 強制 master 只能透過 PR merge
03 建 PR Template.github/pull_request_template.md 讓開 PR 有格式可依循