- #93
- #92
Git Pre-Commit Hook 是好是壞?
想到 Theo 的影片:Pre-Commit Hooks Are Bad,評論也有一些爭論。簡單來說 Git 可以在 Commit 時觸發行為,通常會用來跑一些 CI 程式碼檢測流程。這似乎是一個很好的時機可以在錯誤進入版本控制系統之前攔截,但同時也可能成為阻礙。
- ✅ 正向:
- 提早發現錯誤: 可以在程式碼進入版本控制之前進行檢測,迴避低品質或錯誤的程式碼,減少了 Code Review 時浪費的時間。
- 減少 CI 壓力:開發者本地檢測並提早警告錯誤,降低負擔。
- ❌ 負面:
- 過度依賴本地環境:Hook 的執行依賴開發者的本地環境,如果環境未正確配置,可能導致不一致的行為。
- 影響開發者的靈活性:干擾開發者在本地進行快速實驗,強制提交的程式碼符合某些規範。
過往我遇到專案 Pre-Commit Hooks 總是要跑個 5 、 6 秒,雖然還能接受但頻繁的 commit 時等待檢測是挺惱人的,我會偏向 CI 檢測要有再看團隊習慣。
- ✅ 正向:
- #91
- #90
- #89
- #88
- #87
- #86
- #85
- #84
- #83
- #82
- #81
- #80
- #79
- #78
- #77
- #76
- #75
- #74
- #73
- #72
- #71
- #70
- #69
- #68
- #67
- #66
- #65
- #64
- #63
- #62
- #61
- #60
- #59
- #58
- #57
- #56
- #55
- #54
- #53
- #52
- #51
- #50
- #49
- #48
- #47
- #46
- #45
- #44
- #43
- #42
- #41
- #40
- #39
- #38
- #37
- #36
- #35
- #34
- #33
- #32
- #31
- #30
- #29
- #28
- #27
- #26
- #25
- #24
- #23
- #22
- #21
- #20
- #19
- #18
- #17
- #16
- #15
- #14
- #13
- #12
- #11
- #10
- #9
- #8
- #7
- #6
- #5
- #4
- #3
- #2
- #1