一句话概括:lazygit = 终端里的 Git 图形化神器,告别繁琐命令,一切操作触手可及
适合人群:每天和 Git 打交道的开发者,厌倦了手敲长命令的人
兄弟们,问你一个扎心的问题:
你每天要敲多少次 git 命令?
git status
git add .
git commit -m "xxx"
git push origin main
git checkout -b feature/xxx
git rebase -i HEAD~3
git stash
git stash pop
这还只是基础操作。一旦遇到交互式 rebase、cherry-pick、bisect 这些高级操作,你就得开始:
- 查文档 📖
- 复制粘贴命令
- 祈祷不要搞砸
更离谱的是 git add -p(交互式暂存),你得在终端里一个一个 hunk 地选,选错了就只能重新来。
这种痛苦,我懂。
所以今天要给你安利一个神器 —— lazygit。
GitHub 上 73.6k stars,全网开发者都在用的 Git 终端 UI,用过的都说:真香!
lazygit 是什么?
一句话解释
lazygit = 终端里的 Git 图形化界面
就像你用 VS Code、Sublime Merge、GitKraken 这些 GUI 工具操作 Git 一样,lazygit 让你在终端里也能享受图形化的操作体验。
但不一样的是:
| 对比项 | GUI 工具 | lazygit |
|---|---|---|
| 启动速度 | 几秒 | 毫秒级 |
| 内存占用 | 几百 MB | 几十 MB |
| 操作方式 | 鼠标点击 | 键盘快捷键 |
| 分屏工作 | 需要切换窗口 | 直接在终端里 |
| SSH 远程 | 需要装客户端 | 开箱即用 |
为什么说它是"颠覆性"的?
痛点一:交互式 rebase 是噩梦
传统方式:
git rebase -i HEAD~5
# 打开编辑器,手动编辑 TODO 文件
# pick, squash, drop, edit...
# 保存退出,祈祷没写错
lazygit 方式:
- 按
i进入 rebase 模式 - 上下移动选中 commit
- 按
ssquash,按ddrop,按eedit - 按
m继续,完成!
所见即所得,再也不用编辑那个反人类的 TODO 文件了。
痛点二:部分暂存太麻烦
传统方式:
git add -p
# 然后一个个 y/n 选择...
# 如果一个 hunk 里想只暂存部分代码?手动编辑 patch 文件!
lazygit 方式:
- 进入文件,直接看到修改内容
- 按
space暂存单行 - 按
v选择多行 - 按
a暂存整个 hunk
代码级别的精准控制,清清楚楚。
痛点三:操作失误难以撤销
传统方式:
# 重置到某个 commit
git reset --hard HEAD~3
# 然后后悔了...去查 reflog?
lazygit 方式:
- 按
z撤销上一步操作 - 按
ctrl+z重做
Git 操作也有后悔药了!
核心功能一览
lazygit 能做什么?看看这些杀手级功能:
1. 可视化 Commit Graph
*─┐─┐ Merge pull request #123
│ │ * Fix bug in login
│ *─┘ Add feature X
* │ Update README
│ * Refactor utils
*─┘ Initial commit
分支关系一目了然,再也不用 git log --graph --oneline --all 了。
2. 交互式 Rebase(绝杀功能)
- Squash 合并多个 commit
- Fixup 自动合并(不保留 message)
- Drop 删除无用 commit
- Edit 编辑某个 commit
- Reorder 拖拽调整顺序
一切都是可视化的,所见即所得。
3. Cherry-pick 一键复制
- 在源分支选中 commit,按
shift+c复制 - 切换到目标分支,按
shift+v粘贴
比命令行简单 100 倍。
4. Stash 管理
- 一键 stash
- 命名 stash
- 选择性 unstash
- 查看所有 stash 内容
5. Worktree 支持
想同时开发多个分支?不用频繁 stash 了:
- 按
w创建 worktree - 一个终端窗口一个分支
- 互不干扰
6. Bisect 调试神器
找 Bug 祖宗神器:
- 按
b标记 good/bad - lazygit 自动二分定位
- 找到问题 commit
7. 自定义命令
lazygit 支持自定义快捷键,你可以把常用操作绑到任意按键上。
实战:5 分钟上手 lazygit
安装(超简单)
macOS / Linux (Homebrew):
brew install lazygit
Ubuntu / Debian:
sudo apt install lazygit
# 或者最新版
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/download/v${LAZYGIT_VERSION}/lazygit_${LAZYGIT_VERSION}_Linux_x86_64.tar.gz"
tar xf lazygit.tar.gz lazygit
sudo install lazygit /usr/local/bin/
Arch Linux:
sudo pacman -S lazygit
Windows (Scoop):
scoop bucket add extras
scoop install lazygit
Go 安装(全平台):
go install github.com/jesseduffield/lazygit@latest
启动
在任意 Git 仓库目录下:
lazygit
建议加个别名:
echo "alias lg='lazygit'" >> ~/.zshrc
source ~/.zshrc
以后直接敲 lg 就能启动!
常用快捷键速查
| 快捷键 | 功能 |
|---|---|
? | 查看所有快捷键 |
h/j/k/l | 左/下/上/右导航 |
space | 暂存/选中 |
a | 全选当前 hunk |
c | 提交 |
shift+c | 复制 commit(cherry-pick) |
shift+v | 粘贴 commit |
P | 推送 |
p | 拉取 |
r | rebase |
i | 开始交互式 rebase |
z | 撤销 |
ctrl+z | 重做 |
w | worktree 管理 |
b | bisect |
d | 删除/drop |
e | 编辑 |
s | squash |
f | fixup |
/ | 搜索过滤 |
q | 退出 |
界面布局

真实使用场景(我每天都在用)
场景一:每天早上开始工作
lg
# 按 p 拉取最新代码
# 按 F5 刷新状态
# 开始干活
场景二:提交代码
lg
# 左侧选择 Files
# 右侧看到所有修改
# 按 space 暂存想提交的文件/行
# 按 c 提交,输入 message
# 按 P 推送
全程不碰鼠标,效率翻倍。
场景三:修 Bug 发现当前分支太乱
lg
# 按 w 创建新 worktree
# 新开一个终端窗口,进入新 worktree
# 专心修 Bug
# 修完后合并,删除 worktree
场景四:回顾代码历史
lg
# 进入 Commits 面板
# 按 + 放大窗口,看到 commit graph
# 上下浏览,按 enter 查看每个 commit 的详细改动
场景五:紧急修复线上问题
lg
# 切换到 main 分支
# 创建 hotfix 分支
# 修复、测试
# cherry-pick 到 release 分支
# 一气呵成
注意事项(必看!)
1. 首次使用建议
- 先在测试仓库里熟悉操作
- 按
?查看快捷键,不用死记 - lazygit 的操作都有确认提示,不用担心误操作
2. Undo 的限制
z撤销基于 reflog,只能撤销 commit 和 branch 相关操作- 工作区未暂存的改动无法撤销
- 重要操作前,建议先 commit
3. 配置文件位置
# macOS / Linux
~/.config/lazygit/config.yml
# Windows
%APPDATA%\lazygit\config.yml
4. 推荐配置
# ~/.config/lazygit/config.yml
gui:
# 显示分支图
showBranchCommitGraph: true
# 主题
theme:
activeBorderColor:
- green
- bold
# 时间格式
timeFormat: "2006-01-02 15:04"
# Git 配置
git:
# 自动 fetch
autoFetch: true
# 分页大小
paging:
pager: delta --dark --paging=never
5. 与 delta 配合(强烈推荐)
如果你用 delta 看代码差异,lazygit 能完美配合:
# lazygit config
git:
paging:
pager: delta --dark --paging=never
代码 diff 变得超级漂亮!
对比其他工具
| 工具 | 类型 | 优点 | 缺点 |
|---|---|---|---|
| lazygit | TUI | 快速、键盘友好、SSH 可用 | 无鼠标操作 |
| GitKraken | GUI | 界面美观、功能强大 | 付费、慢、占内存 |
| Sublime Merge | GUI | 快速、好看 | 付费 |
| VS Code Git | GUI | 集成开发环境 | 功能有限 |
| tig | TUI | 轻量 | 功能较少 |
| git 命令行 | CLI | 灵活强大 | 难学、易忘 |
lazygit 是 TUI 和 GUI 的完美结合点:既有命令行的速度,又有图形界面的直观。
福利:我整理的 lazygit 资源
| 资源 | 说明 | 链接 |
|---|---|---|
| 官方仓库 | GitHub 源码 | github.com/jesseduffield/lazygit |
| 官方文档 | 完整配置说明 | github.com/jesseduffield/lazygit/tree/master/docs |
| 快捷键速查 | Keybindings | lazygit.readthedocs.io |
| 视频教程 | 15 分钟入门 | YouTube - 15 Lazygit Features in 15 Minutes |
| Rebase 教程 | 进阶技巧 | YouTube - Rebase Magic Tutorial |
| delta 配合 | 美化 diff | github.com/dandavison/delta |
总结
如果你:
- 每天都在和 Git 打交道
- 厌倦了敲各种 Git 命令
- 想在终端里享受 GUI 般的体验
- 追求极致的开发效率
lazygit 就是为你准备的。
73k 开发者的选择,不会错。
建议你今天就装上试试,5 分钟上手,一生受用。
相关推荐
如果你觉得 lazygit 有用,这几篇文章你应该也会喜欢:
- Rust命令行工具,终端效率提升,程序员必备神器 - eza/bat/zoxide 终极组合,让你的终端既好看又高效
- 不仅是快!这几个Rust替代工具的高阶用法带你起飞 - fd 替代 find,rg 替代 grep,搜索速度提升 10 倍
觉得有用?点个赞 + 转发 + 关注!
评论区见,有任何问题欢迎留言,我看到都会回复!
#lazygit #Git #终端工具 #开发者效率 #命令行神器 #开源工具
Q.E.D.


