如何使用 lazygit:安裝、基礎快捷鍵、暫存提交與 interactive rebase 入門
在終端機 TUI 完成 Git 暫存、提交,並第一次用 lazygit 做 interactive rebase。
改几个文件就要在 git status、git add -p 和编辑器之间來回切。lazygit 是終端機里的 Git 圖形介面:在一个 TUI 里看状态、暫存、提交、分支与交互式 rebase;專案与文件见 github.com/jesseduffield/lazygit。
搜尋 lazygit 安裝 快捷鍵 暫存 提交 交互式 rebase 的人,通常要完成:装好、记住面板與常用鍵、把改动 stage 并 commit,以及第一次安全地開啟 interactive rebase。以下按鍵以 lazygit 官方 Keybindings 为准,按 ? 可在程式内核對。
lazygit 適合谁
厭惡记 git 子命令的人
用方向鍵和单鍵操作代替反复輸入 git add、git restore、git commit。
需要快速看 diff 的开发者
文件列表里回车開啟 diff,空格暫存整文件或 hunk(視面板與版本而定)。
整理本地提交历史
在 Commits 面板用 i 進入 interactive rebase,在 UI 里改 pick/squash 顺序,比手写 git rebase -i 少踩坑。
安裝 lazygit
- 1
macOS:Homebrew
執行
brew install lazygit,確認lazygit --version。Apple Silicon 与 Intel 使用同一 formula。 - 2
Windows
可用
winget install JesseDuffield.lazygit或scoop install lazygit(以各自儲存庫当前包名为准)。 - 3
Linux
Arch:
sudo pacman -S lazygit。Debian/Ubuntu 等可先查发行版儲存庫;若无包,按 GitHub Releases 下载二进制或使用go install github.com/jesseduffield/lazygit@latest(需 Go 工具链)。 - 4
第一次啟動
在 Git 儲存庫根目录执行
lazygit。非儲存庫目录会提示不是 git 專案;可先git init或cd到已有專案。
面板與基礎快捷鍵
lazygit 默认多面板布局(Status、Files、Branches、Commits 等)。數字鍵 1–5 常用来切换焦點面板;具体映射以你安裝的版本按 ? 显示为准。
| 按鍵 | 常见作用 | 场景 |
|---|---|---|
? | 開啟快捷鍵說明 | 忘记鍵时先看这里 |
q / Esc | 退出或返回上一层 | 离开子视图 |
j / k 或方向鍵 | 上下移动 | 列表导航 |
Enter | 開啟 diff / 详情 | 檢視改动 |
Space | 暫存 / 取消暫存 | Stage 文件或 hunk |
c | 提交(commit) | 已暫存改动写 message |
d | 丟棄改动(需確認) | 清理误改 |
P | Push | 推送到 remote |
p | Pull | 拉取更新 |
暫存并提交一次改动
- 1
開啟儲存庫
cd your-repo && lazygit。在 Files 面板看到未跟踪与已修改文件。 - 2
看 diff
選中文件按
Enter進入 diff;確認要提交的行。 - 3
Stage
在文件列表对目标文件按
Space暫存;需要局部暫存时,在 diff 视图里用 lazygit 提供的 stage hunk 操作(說明里搜 stage)。 - 4
Commit
按
c,在底部輸入 commit message,確認提交。Status 面板应显示 working tree clean(除未暫存外)。 - 5
(可选)Push
需要共用时按
Ppush;首次 push 新分支时 lazygit 会提示设置 upstream(按屏幕选项操作)。
# 典型工作流(終端機)
cd ~/projects/my-app
lazygit
# Files → Space 暫存 → c 写 message → P pushInteractive rebase 入门
Interactive rebase 用来整理尚未 push 或允许改写的本地历史:合并 commit、改顺序、改 message。在已 push 且他人基于其工作的分支上 rebase 可能制造衝突,需团队规范允许。
- 1
進入 Commits 面板
用數字鍵或 Tab 把焦點移到 Commits,看到当前分支的提交列表。
- 2
啟動 interactive rebase
選中要作为起点的提交(或按官方文件在 Branches 上对目标分支按
i),按i开始 interactive rebase。介面会列出 pick/squash 等待辦项。 - 3
调整动作与顺序
在 rebase 待辦列表里移动光标,用說明中列出的鍵切换
pick、squash、fixup、drop等(常见为Space或专用字母鍵,以?为准)。 - 4
確認并处理衝突
確認后 lazygit 会执行 rebase。若衝突,按提示進入文件面板解决,完成后继续 rebase(菜单或快捷鍵见說明)。
- 5
Push 前检查
历史被改写后可能需要
force-with-lease;lazygit 在 push 衝突时会给出选项。不要对共用主分支盲目強推。
第一次練習请在本地副本或功能分支上做 rebase,并
git branch backup-before-rebase留備份,再按i试 squash。
和队友對齊发布步骤时,終端機里用 lazygit 很快;若要共用白板画流程,可从 wbroom 首頁 开浏览器房间,见 建立与加入房间;終端機多任务可参考 tmux 指南。
還想核對的問題
lazygit 会改 git config 吗?
lazygit 调用标准 git 命令完成操作。可选配置写在 ~/.config/lazygit/config.yml(路徑以文件为准),不會偷偷改 remote 除非你在 UI 里確認相关操作。
和 tig、gitui 比怎么选?
三者都是終端機 Git UI。lazygit 侧重鍵盘流、面板齐全与 interactive rebase 集成;选你顺手的一个即可,命令仍是标准 Git。
Space 暫存的是整個文件还是 hunk?
在文件列表多为整文件;在 diff / patch 面板可对 hunk 操作。以当前版本 ? 說明中 Stage 相关说明为准。
rebase 后 push 被拒绝?
说明 remote 已有旧历史。若分支仅你使用,可用 force-with-lease(lazygit push 流程中的选项);若多人协作,改用 merge 或协调后再改历史。