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 summarygit changeloggit 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 / stashlazygit
需要視覺化 graphFork(免費)或 GitKraken
AI 輔助 reviewCodeRabbit
Node.js 專案的 hookHusky + lint-staged
多語言 monorepo 的 hooklefthook

工具是習慣的問題——不需要全部都學,找到讓你自己工作流順暢的組合就好。