Lazygit 使用指南

Lazygit 使用指南

Lazygit 是一个终端下的 TUI 工具,为 Git 操作提供交互式界面,大幅提升日常 Git 工作流的效率。

核心概念

Lazygit 将工作分为多个面板(Pane),每个面板专注一种操作对象:

面板 快捷键 作用
文件面板 space 暂存/取消暂存文件
提交面板 d 查看/修改最近提交
分支面板 b 切换/创建/删除分支
状态面板 s 查看 stash 列表
搜索 / 在任意面板中搜索过滤

日常操作示例

场景 1:暂存部分修改 (Partial Staging)

bash # 假设一个文件有多处修改,只想暂存其中一部分

  1. 文件面板中选中要拆分的文件
  2. space 展开该文件的分块视图 (hunk diff)
  3. 1-2 选中要暂存的具体行
  4. space 暂存选中的块
  5. c 写提交信息

场景 2:修改最后一次提交

  1. d 进入提交面板
  2. 选中最近的提交,按 r (reword) 重新编辑提交信息
  3. 或按 e (amend) 直接修改文件(追加暂存区内容到上一提交)

场景 3:交互式 Rebase

  1. 提交面板中选中一个提交
  2. s 标记为 squash(合并到上一个)
  3. p 标记为 pick(保留)
  4. r 标记为 reword(修改提交信息)
  5. 操作完成后按 m 开始执行 rebase

场景 4:暂存工作进度 (Stash)

  1. s 切换到状态面板
  2. s 新建 stash
  3. 输入 stash 描述信息
  4. 之后在状态面板选中 stash,按 a 应用或 p pop(应用并删除)

场景 5:快速分支操作

  • b 进入分支面板
  • c 创建新分支
  • D 删除分支
  • enter 切换到选中分支

场景 6:冲突解决

  1. 合并时产生冲突后,文件面板会高亮冲突文件
  2. 选中冲突文件,按 o 打开外部合并工具(需在 .gitconfig 中配置)
  3. 或在lazygit内按 1-2 逐个选择 «< 和 »> 块的版本

快捷键详解

导航与选择

快捷键 功能说明
↑/↓j/k 在列表中上下移动
←/→h/l 在相邻面板间切换
tab 切换到下一个面板
enter 进入详情/确认选中项
esc 返回上一级/取消操作

文件面板 (Files)

快捷键 功能说明
space 暂存/取消暂存选中文件(进入分块模式后选中单行)
a 暂存所有文件
A 取消暂存所有文件
v 进入可视化选择模式,逐行选中要暂存的内容
diff 查看选中文件的完整 diff

提交面板 (Commits)

快捷键 功能说明
c 创建新提交
d 查看选中提交的详细信息
r 重新编辑提交信息 (reword)
e 修改提交:将暂存区内容追加到上一提交 (amend)
s 压缩提交:将选中提交合并到上一个 (squash)
f 将提交压缩为 fixup(不保留提交信息)
p 标记为 pick(保留,用于 rebase 排序)
m 开始执行 rebase 操作
t 打标签 (tag)
cherry-pick 复制选中提交到当前分支

分支面板 (Branches)

快捷键 功能说明
enter 切换到选中分支
c 从当前分支创建新分支
d 删除选中分支
D 强制删除(不检查是否已合并)
f 拉取远程分支到本地
M 将当前分支合并到选中分支
R 重命名分支
空格 检出(checkout)选中分支

状态面板 (Stash)

快捷键 功能说明
enter 查看 stash 详情
a 应用选中 stash(保留 stash 条目)
p 弹出 stash(应用并删除)
d 删除选中 stash
n 新建 stash(会提示输入描述)

通用操作

快捷键 功能说明
? 打开帮助面板,查看所有快捷键
q 退出 lazysig
x 标记删除/丢弃(需再按一次确认)
/ 打开搜索框过滤当前列表
z 打开 undo 树,撤销之前的操作
g 跳转到列表顶部
G 跳转到列表底部
Ctrl+R 刷新当前面板内容
Ctrl+Z 撤销最近的工作区修改
o 用默认程序打开文件(如合并工具)

提交信息编辑

快捷键 功能说明
Ctrl+E 在外部编辑器中编辑提交信息
Tab 切换编辑/预览模式
Ctrl+L 清空输入框

合并与冲突

快捷键 功能说明
m 开始 merge/rebase 操作
a 接受 ours(本地)版本
b 接受 theirs(远程)版本
1 接受第一个冲突块
2 接受第二个冲突块
B 标记为已解决,继续下一步
u 取消当前的 rebase/merge 操作

配置文件

Lazygit 支持通过 YAML 配置自定义主题和快捷键:

```yaml # ~/.config/lazygit/config.yml gui: theme: activeBorderColor: - cyan selectedLineBgColor: - blue authorColors: yourname: cyan

keybinding: universal: quit: “q” confirm: “enter” ```

实用技巧

  • 批量操作:在文件面板中用 x 标记多个文件,再按 space 批量暂存
  • 搜索过滤:按 / 在任意面板输入关键词过滤
  • 撤销:按 z 进入 undo 树,浏览所有操作历史
  • 子模块:在提交面板按 u 更新子模块

参考

  • Lazygit 官方仓库:https://github.com/jesseduffield/lazygit#installation

Lazygit 适合习惯终端但希望提升 Git 操作效率的开发者。它没有颠覆 Git 的概念,而是让常用操作更容易触达。相比 IDE 的图形界面,它支持更精细的分块操作(hunk-level staging)。上手建议:从日常的 add + commit + push 开始,逐步探索 rebase 和 stash 功能。