终端党福音,lazygit 一屏看尽 Git 全部操作

在终端里敲 Git 命令手速再快,也快不过一个能同时看到状态、分支、差异的界面。lazygit 把整个仓库摊在一个终端窗口里,方向键移动、单键操作,从不离开键盘。
它解决什么问题
重度终端用户嫌切换 GUI 应用打断心流,但纯命令行查状态、看差异要来回敲很多条。
交互式 rebase、挑拣提交这类操作命令行参数繁多,记不住就想用图形界面,偏偏不想离开终端。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 一屏五面板 | 状态、文件、分支、提交、暂存区同屏陈列,光标切换即达。 |
| 单键操作 | 空格暂存、c 提交、p 推送,常用动作基本一键完成。 |
| 交互式 rebase | 在提交面板直接对历史记录变基、合并、调序,所见即所得。 |
| 实时差异 | 选中任意文件或提交,右侧立刻显示逐行改动。 |
| 自定义键位 | 配置文件可重映射快捷键,按个人习惯定制操作流。 |
| 轻量无依赖 | 单个二进制文件即可运行,SSH 远程服务器里也能用。 |
TUI 工作流的效率来源
lazygit 的效率不来自「替你敲命令」,而来自把仓库状态常驻屏幕:文件改动、分支拓扑、提交历史同时可见,省掉的是反复 git status、git log 的查询往返。操作路径因此变成「看到—定位—执行」,比「回忆—输入—验证」少两个认知环节。
它对半选(hunk)和单行级暂存的支持特别实用:敲错顺手改了一行无关代码,不必整个文件一起提交,光标选中那行单独空格暂存即可。常见误区是把它当玩具,实际上它覆盖 cherry-pick、bisect、worktree 等高级能力;真遇到极端场景,它还内置了命令面板,可以随时把控制权交回标准 Git。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| gitui | 开源免费 | Rust 写成的同类 TUI 工具,启动更快、界面更简约。 |
| GitHub Desktop | 开源免费 | 传统图形窗口版 Git 客户端,适合不常驻终端的人。 |
| tig | 开源免费 | 偏重浏览历史与差异的终端 Git 查看器,操作更接近 less。 |
谁适合用
- 日常泡在终端里的 Linux 与 macOS 开发者
- 通过 SSH 在远程服务器上改代码的后端工程师
- 已经熟悉 Git、想压缩操作步数的效率党
- 喜欢 TUI 工具(如 htop、vim)美学的高级用户
怎么开始
- 打开 GitHub 仓库的 Releases 页(https://github.com/jesseduffield/lazygit),下载对应系统的安装包或二进制。
- Windows 可用 scoop install lazygit,macOS 可用 brew install lazygit,一步装好。
- 进入任意 Git 仓库目录,终端输入 lazygit 启动界面。
- 先花两分钟按 x 或 ? 查看快捷键帮助,记住空格、c、p 三个键即可开始日常使用。
- 进阶阶段在配置文件中调整主题与键位,配合终端分屏把 lazygit 固定在一侧常驻。
常见问题
它和命令行 Git 是什么关系?
它是命令行之上的操作界面,背后仍执行标准 Git 命令,任何改动都能在另一窗口用 git log 验证。
误操作了能撤销吗?
多数操作有确认提示,提交与暂存类动作都可逆;高危操作(如丢弃改动)会再次要求确认,并可用 reflog 找回。
在远程服务器上能用吗?
可以。它是纯 TUI 程序,只要服务器装了二进制,SSH 会话里直接运行,无需图形环境。
快捷键太多记不住怎么办?
只先记三个:空格暂存、c 提交、p 推送;界面里随时按 ? 调出完整键位表,用一周就形成肌肉记忆。
授权与合规
lazygit 以 MIT 协议开源发布,免费使用,可直接从 GitHub Releases 获取各平台二进制。 官网:github.com/jesseduffield/lazygit。
↓ 获取资源
点击按钮直接前往资源页面。