2026 年值得收藏的 GitHub CLI 工具:让你的终端效率翻倍
引言
在 GUI 工具大行其道的今天,命令行工具不但没有消亡,反而在开发者群体中愈发流行。好的 CLI 工具往往更快、更轻、更可编程,而且能完美融入终端工作流。2026 年,GitHub 上涌现了一批优秀的命令行工具,它们用 Rust、Go 等语言编写,性能出众,交互体验也越来越友好。今天我们来介绍两个值得加入你工具箱的 CLI 神器——lazygit 和 fx。
工具一:lazygit — 让 Git 操作变得丝滑无比
项目概览
- 项目名称:lazygit
- GitHub 地址:github.com/jesseduffield/lazygit
- Star 数:82.3K+
- 开发语言:Go
- 开源协议:MIT
- 最新版本:v0.65.0
核心功能
lazygit 是一个基于终端的 Git 图形化界面(TUI),它把常用的 Git 操作都封装成了可视化的交互界面,让你不用再死记硬背复杂的 Git 命令。
主要功能亮点
1. 可视化状态面板
打开 lazygit 后,整个界面分为多个面板:左侧是文件状态和暂存区,右侧是分支和提交历史,底部是命令日志。你可以用方向键或 Vim 键位(hjkl)在面板间切换,所有信息一目了然。
2. 交互式变基(Interactive Rebase)
这是 lazygit 最受欢迎的功能之一。以往进行交互式变基需要编辑 TODO 文件,而在 lazygit 中,你只需要选中提交,按几个键就能完成:
- s — squash(压缩提交)
- f — fixup(修复提交)
- d — drop(删除提交)
- 方向键 — 调整提交顺序
3. 一键撤销/重做
lazygit 会追踪你的每一步操作,按 z 就能撤销,按 ctrl+r 就能重做。手滑了?不用担心,一键回到上一步。
4. 樱桃拣选(Cherry-pick)
在一个分支选中提交,按 space 复制,切换到目标分支按 V 粘贴,就完成了 cherry-pick,比命令行直观太多。
5. GitHub PR 集成
在分支面板中,lazygit 可以显示哪些分支有关联的 Pull Request,并用 GitHub 图标标注,颜色表示 PR 状态(打开、已合并等)。配合 gh CLI 使用效果更佳。
6. 自定义键位
lazygit 的键位绑定系统非常灵活,你可以在配置文件中自定义几乎所有操作的快捷键。
安装方式
macOS:
brew install lazygit
Ubuntu / Debian:
LAZYGIT_VERSION=$(curl -s "https://api.github.com/repos/jesseduffield/lazygit/releases/latest" | grep -Po '"tag_name": "v\K[^"]*')
curl -Lo lazygit.tar.gz "https://github.com/jesseduffield/lazygit/releases/latest/download/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin
Windows:
scoop install lazygit
# 或
choco install lazygit
一键安装脚本(推荐):
curl -Lo lazygit-install.sh https://raw.githubusercontent.com/jesseduffield/lazygit/master/scripts/install_lazygit.sh
chmod +x lazygit-install.sh
./lazygit-install.sh
使用示例
在任意 Git 仓库中输入 lazygit 即可启动。以下是一些常用操作的对比:
| 操作 | 传统 Git 命令 | lazygit 操作 |
|---|---|---|
| 查看状态 | git status |
启动即显示 |
| 暂存文件 | git add file.go |
选中文件按 space |
| 提交 | git commit -m "msg" |
按 c 输入提交信息 |
| 查看 diff | git diff |
选中文件按 enter |
| 切换分支 | git checkout dev |
选中分支按 space |
| 合并分支 | git merge feature |
选中分支按 M |
| 交互式变基 | git rebase -i HEAD~3 |
选中提交按 r |
| 撤销操作 | git reset --hard HEAD~1 |
按 z |
适用场景
- Git 新手:可视化界面降低了学习成本,边用边学 Git 概念
- 频繁操作 Git 的开发者:减少命令输入量,提升日常工作效率
- 复杂 Git 操作场景:交互式变基、cherry-pick、冲突解决等
- 结对编程:在共享终端中展示 Git 操作,更直观易懂
工具二:fx — 终端里的 JSON 探索利器
项目概览
- 项目名称:fx
- GitHub 地址:github.com/antonmedv/fx
- Star 数:20.6K+
- 开发语言:Go
- 开源协议:MIT
- 跨平台:macOS / Linux / Windows
核心功能
fx 是一个终端 JSON 查看器和处理器,它填补了 jq 不擅长交互式探索的空白。如果你经常在终端里处理 JSON 数据,fx 绝对能让你眼前一亮。
核心特性
1. 交互式 TUI 浏览器
把 JSON 数据通过管道传给 fx,就能打开一个全屏的交互式查看器。使用方向键在 JSON 树中导航,按 enter 展开/折叠节点,按 / 搜索字段名或值。对于大型 JSON 文件来说,这种探索方式比 jq 高效得多。
2. JavaScript 表达式处理
fx 最独特的设计是:你不需要学习新的查询语法(比如 jq 的 DSL),直接用熟悉的 JavaScript 就能处理 JSON。按 . 键打开处理栏,输入 JS 表达式即可:
// 过滤数组
x => x.users.filter(u => u.age > 25)
// 提取字段
x => x.data.items.map(item => item.name)
// 聚合计算
x => x.orders.reduce((sum, o) => sum + o.amount, 0)
3. 流式 JSON 支持
支持 JSON Lines(每行一个 JSON 对象)和换行分隔的 JSON 数据流,可以实时处理日志和 API 流式输出。
4. 大整数精确支持
与很多 JSON 工具不同,fx 支持大整数(BigInt),不会丢失精度,处理包含雪花 ID 等大数字的 JSON 时特别有用。
5. JSON 注释支持
支持带注释的 JSON(JSONC),方便查看配置文件。
安装方式
macOS:
brew install fx
Linux:
# 下载二进制文件
curl -Lo fx https://github.com/antonmedv/fx/releases/latest/download/fx_linux_amd64
chmod +x fx
sudo mv fx /usr/local/bin/
npm / yarn:
npm install -g fx
# 或
yarn global add fx
Windows:
scoop install fx
使用示例
1. 交互式查看 API 响应:
curl -s https://api.github.com/repos/jesseduffield/lazygit | fx
2. 配合 jq 使用(fx 负责浏览,jq 负责复杂查询):
cat data.json | jq '.items[0]' | fx
3. 直接用 JS 表达式处理(非交互模式):
# 提取所有用户名
cat users.json | fx 'x => x.map(u => u.login)'
# 计算数组长度
cat data.json | fx 'x => x.length'
4. 主题切换:
fx 内置多种配色主题,可以通过 FX_THEME 环境变量切换:
export FX_THEME=0 # 0-9 共 10 种主题
适用场景
- API 开发与调试:快速查看和搜索 JSON 响应,定位字段
- 日志分析:处理 JSON 格式的日志文件,筛选特定条目
- 配置文件管理:浏览和修改 JSON/JSONC 配置
- 数据探索:在终端中快速分析 JSON 数据结构,无需打开编辑器
- 管道组合:与 curl、jq 等工具组合,构建数据处理流水线
对比与总结
| 维度 | lazygit | fx |
|---|---|---|
| 解决的痛点 | Git 命令难记、操作繁琐 | JSON 数据在终端中难以阅读和探索 |
| 交互方式 | 全屏 TUI,键盘操作 | 全屏 TUI + JS 表达式 |
| 学习曲线 | 低,直观易懂 | 中,需要熟悉 JS 语法 |
| 性能 | 极快,Go 编写 | 极快,Go 编写 |
| 社区生态 | 82K+ stars,活跃 | 20K+ stars,活跃 |
为什么这两个工具值得装?
在终端工作流中,减少上下文切换是提升效率的关键。lazygit 让你不用在"编辑器 → 终端 → Git 客户端"之间来回切换,所有 Git 操作都在终端里完成;fx 让你不用把 JSON 复制到编辑器或浏览器中查看,直接在管道里就能探索数据。
它们的共同优点是: - 快:Go 语言编写,启动毫秒级 - 轻:单二进制文件,无依赖 - 美:精心设计的 TUI 界面,配色舒适 - 活:活跃的社区维护,持续迭代更新
如果你是一个经常与终端打交道的开发者,这两个工具绝对值得加入你的标配工具箱。试试看,你会 wonder 自己以前没有它们是怎么活过来的。

评论(0)
暂无评论,来抢沙发~
请 登录 后发表评论