CLI 工具
gh(GitHub CLI):在 terminal 裡操作 GitHub——建 PR、看 issue、checkout PR branch、跑 workflow。
# 常用指令
gh pr create --title "fix auth bug" --body "..." --draft
gh pr list
gh pr checkout 123 # checkout PR branch
gh pr merge 123 --squash
gh issue create --label bug
gh run list # 看 CI workflow 狀態glab(GitLab CLI):GitLab 的對應工具,API 和 gh 相似。
git-extras:補充 git 沒有的常用指令(git summary、git changelog、git squash)。
GUI 工具
lazygit:Terminal UI,不用記所有 git 指令也能做複雜操作。i(interactive rebase)、d(diff)、s(stage/unstage)。比原生 git add -p 更直觀,特別適合 interactive rebase 和 stash 管理。免費開源。
Fork(Mac / Windows):最乾淨的 git GUI,性能好,有內建的 merge conflict resolver,免費(自願付費)。適合喜歡 GUI 但不想付訂閱費的工程師。
Sourcetree(Atlassian):免費,功能齊全,Bitbucket 生態整合好。歷史悠久,比較笨重。
GitKraken:跨平台,UI 好看,有 AI 功能(commit message 建議)。付費訂閱,適合喜歡視覺化 graph 的工程師。
JetBrains IDE 內建 git:如果已用 IntelliJ / PyCharm,內建的 git 工具很完整,不需要另外裝 GUI 客戶端。
Code Review 輔助
CodeRabbit:AI Code Review bot。PR 建立後自動分析 diff,給出 review comment——找潛在 bug、指出安全問題、建議重構。讓 AI 先跑一遍,減少人工 review 的機械性工作。
Greptile:接 codebase 的 AI,PR review 時考慮整體 codebase 的 context(不只看 diff),能發現「這個改動和其他地方的行為不一致」這類問題。
Danger:CI 裡跑的 code review 規則引擎,可以自定義規則(「PR 超過 500 行要求拆分」「migration 改動要有 rollback plan」),失敗時在 PR 留 comment。
Hooks 工具
Husky(Node.js 生態):最廣泛使用的 git hook 管理工具,hook 存在 repo 裡,npm install 後自動設置。詳見 17-git-hooks 章節。
lefthook(多語言):Go 實作,速度快,支援並行執行。YAML 配置,適合多語言 monorepo。
pre-commit.com(Python 生態 / 通用):plugin 生態豐富,配置在 .pre-commit-config.yaml,支援跨語言。
選型建議
| 場景 | 推薦 |
|---|---|
| GitHub 日常操作 | gh CLI |
| 互動式 rebase / stash | lazygit |
| 需要視覺化 graph | Fork(免費)或 GitKraken |
| AI 輔助 review | CodeRabbit |
| Node.js 專案的 hook | Husky + lint-staged |
| 多語言 monorepo 的 hook | lefthook |
工具是習慣的問題——不需要全部都學,找到讓你自己工作流順暢的組合就好。