Lazygit 使用指南
Lazygit 是一个终端下的 Git 客户端,通过 TUI(Terminal User Interface)把 Git 的常用操作可视化,用快捷键驱动替代手敲命令。暂存、提交、分支管理、交互式 rebase、冲突解决……基本上日常用到的 Git 操作都能在里面完成,而且比命令行直观得多。

安装
| 平台 | 命令 |
|---|---|
| macOS | brew install lazygit |
| Arch Linux | sudo pacman -S lazygit |
| Ubuntu/Debian | sudo apt install lazygit |
| Windows (Scoop) | scoop install lazygit |
| Windows (Winget) | winget install JesseDuffield.lazygit |
安装完成后,在 Git 仓库目录下执行 lazygit 即可启动。
界面概览
启动后的界面分为左右两大区域,左侧是 5 个面板,右侧是对应的详情视图(diff、日志等)。
左侧面板从上到下依次是:
| 编号 | 面板 | 说明 |
|---|---|---|
| 1 | Status | 当前仓库状态、所在分支 |
| 2 | Files | 工作区文件变更 |
| 3 | Branches | 本地分支、远程分支、Tags |
| 4 | Commits | 当前分支的提交历史 |
| 5 | Stash | Stash列表 |
面板导航:
- 数字键
1-5:快速跳转到对应面板 ←/→:在相邻面板间切换↑/↓或j/k:在列表中上下移动[/]:切换面板内的子标签页(如 Branches 面板下的 Local、Remotes、Tags)
基础操作
文件暂存与提交
在 Files 面板(按 2)中操作:
| 快捷键 | 功能 |
|---|---|
space |
暂存 / 取消暂存选中文件 |
a |
暂存 / 取消暂存所有文件 |
enter |
进入文件,按行或按块暂存 |
c |
提交已暂存的更改 |
A |
修改最后一次提交(amend) |
C |
使用编辑器编写提交信息并提交 |
按 enter 进入单文件暂存视图后,可以用 space 逐行暂存,用 v 切换范围选择模式来暂存多行。按 tab 可在暂存区和工作区之间切换查看。
推送与拉取
| 快捷键 | 功能 |
|---|---|
P(大写) |
Push 推送 |
p(小写) |
Pull 拉取 |
首次推送新分支时,lazygit 会提示设置上游分支。
其他文件操作
| 快捷键 | 功能 |
|---|---|
d |
查看丢弃更改选项 |
e |
用外部编辑器打开文件 |
s |
Stash所有更改 |
S |
查看Stash选项(可选择仅Stash暂存/未暂存的更改) |
` |
切换文件树 / 平铺视图 |
分支管理
在 Branches 面板(按 3)中操作:
| 快捷键 | 功能 |
|---|---|
space |
切换到选中分支 |
n |
基于当前分支创建新分支 |
d |
删除分支 |
M |
将选中分支合并到当前分支 |
r |
将当前分支rebase到选中分支 |
R |
重命名分支 |
f |
快进合并(fast-forward) |
u |
查看上游分支选项 |
- |
切换到上一个分支 |
Branches 面板通过 [ / ] 可切换到 Remotes 和 Tags 子标签页,管理远程分支和标签。
交互式 Rebase
在 Commits 面板(按 4)中,选中某个提交后可以进行交互式rebase操作:
| 快捷键 | 功能 | 说明 |
|---|---|---|
e |
Edit | 标记为编辑,暂停rebase让你修改 |
s |
Squash | 压缩到前一个提交,合并提交信息 |
f |
Fixup | 压缩到前一个提交,丢弃当前提交信息 |
d |
Drop | 删除提交 |
r |
Reword | 修改提交信息 |
p |
Pick | 保留提交(在rebase过程中标记) |
ctrl+j |
Move down | 将提交向下移动(即更早执行) |
ctrl+k |
Move up | 将提交向上移动(即更晚执行) |
操作流程:选中想要修改的提交 → 按对应快捷键标记操作 → lazygit 自动执行rebase。整个过程不需要手动编辑 rebase todo 文件。
Cherry-pick
在 Commits 面板中:
- 移动到想要复制的提交,按
C(大写)标记 - 切换到目标分支
- 按
V(大写)执行粘贴(cherry-pick)
按 ctrl+r 可以重置已标记的选择。支持一次标记多个提交再统一粘贴。
Stash 管理
创建Stash(在 Files 面板):
| 快捷键 | 功能 |
|---|---|
s |
Stash所有更改 |
S |
查看Stash选项(可选择范围) |
管理Stash(在 Stash 面板,按 5):
| 快捷键 | 功能 |
|---|---|
space |
应用Stash(保留Stash记录) |
g |
弹出Stash(应用并删除) |
d |
删除Stash |
n |
从Stash创建新分支 |
r |
重命名Stash |
冲突解决
当合并或rebase产生冲突时,lazygit 会在 Files 面板中标记冲突文件。按 enter 进入文件后,可以可视化地选择保留哪一方的更改:
| 快捷键 | 功能 |
|---|---|
space |
选择当前冲突块 |
b |
选择所有冲突块 |
← / → |
在冲突块之间切换 |
z |
撤销上一步冲突解决 |
M |
查看合并选项 |
快捷键速查
全局
| 快捷键 | 功能 |
|---|---|
P |
Push |
p |
Pull |
z |
撤销上一步操作 |
Z |
重做 |
R |
刷新 |
? |
查看当前面板的所有快捷键 |
x |
打开操作菜单 |
+ / - |
切换屏幕模式(正常/半屏/全屏) |
: |
执行 Shell 命令 |
ctrl+r |
切换到最近访问的仓库 |
q |
退出 |
Files 面板
| 快捷键 | 功能 |
|---|---|
space |
暂存 / 取消暂存 |
a |
全部暂存 / 取消 |
enter |
按行暂存 |
c |
提交 |
A |
Amend |
d |
丢弃更改 |
e |
编辑文件 |
s / S |
Stash / Stash选项 |
Branches 面板
| 快捷键 | 功能 |
|---|---|
space |
切换分支 |
n |
新建分支 |
M |
合并 |
r |
rebase |
d |
删除 |
R |
重命名 |
f |
快进 |
Commits 面板
| 快捷键 | 功能 |
|---|---|
e |
编辑提交 |
s |
Squash |
f |
Fixup |
d |
Drop |
r |
修改提交信息 |
C |
Cherry-pick 复制 |
V |
Cherry-pick 粘贴 |
ctrl+j/k |
上下移动提交 |
配置
lazygit 的配置文件路径因平台而异,执行 lazygit -cd 可以快速查看当前平台的配置目录:
| 平台 | 路径 |
|---|---|
| Linux | ~/.config/lazygit/config.yml |
| macOS | ~/Library/Application Support/lazygit/config.yml |
| Windows | %LOCALAPPDATA%\lazygit\config.yml |
此外,在仓库根目录创建 .lazygit.yml 可以设置仓库级的配置。
常用配置示例:
1 | gui: |
完整配置项参考:Config docs
- Title: Lazygit 使用指南
- Author: Wavky
- Created at : 2026-02-08 17:15:01
- Updated at : 2026-02-09 00:03:23
- Link: https://wavky.top//lazygit-user-guide/
- License: All Rights Reserved © Wavky