如何使用 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面板與基礎快捷鍵暫存 · 提交 · rebase 入门

lazygit 適合谁

01

厭惡记 git 子命令的人

用方向鍵和单鍵操作代替反复輸入 git add、git restore、git commit。

02

需要快速看 diff 的开发者

文件列表里回车開啟 diff,空格暫存整文件或 hunk(視面板與版本而定)。

03

整理本地提交历史

在 Commits 面板用 i 進入 interactive rebase,在 UI 里改 pick/squash 顺序,比手写 git rebase -i 少踩坑。

安裝 lazygit

  1. 1

    macOS:Homebrew

    執行 brew install lazygit,確認 lazygit --version。Apple Silicon 与 Intel 使用同一 formula。

  2. 2

    Windows

    可用 winget install JesseDuffield.lazygit 或 scoop install lazygit(以各自儲存庫当前包名为准)。

  3. 3

    Linux

    Arch:sudo pacman -S lazygit。Debian/Ubuntu 等可先查发行版儲存庫;若无包,按 GitHub Releases 下载二进制或使用 go install github.com/jesseduffield/lazygit@latest(需 Go 工具链)。

  4. 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丟棄改动(需確認)清理误改
PPush推送到 remote
pPull拉取更新

暫存并提交一次改动

  1. 1

    開啟儲存庫

    cd your-repo && lazygit。在 Files 面板看到未跟踪与已修改文件。

  2. 2

    看 diff

    選中文件按 Enter 進入 diff;確認要提交的行。

  3. 3

    Stage

    在文件列表对目标文件按 Space 暫存;需要局部暫存时,在 diff 视图里用 lazygit 提供的 stage hunk 操作(說明里搜 stage)。

  4. 4

    Commit

    按 c,在底部輸入 commit message,確認提交。Status 面板应显示 working tree clean(除未暫存外)。

  5. 5

    (可选)Push

    需要共用时按 P push;首次 push 新分支时 lazygit 会提示设置 upstream(按屏幕选项操作)。

# 典型工作流(終端機)
cd ~/projects/my-app
lazygit
# Files → Space 暫存 → c 写 message → P push

Interactive rebase 入门

Interactive rebase 用来整理尚未 push 或允许改写的本地历史:合并 commit、改顺序、改 message。在已 push 且他人基于其工作的分支上 rebase 可能制造衝突,需团队规范允许。

  1. 1

    進入 Commits 面板

    用數字鍵或 Tab 把焦點移到 Commits,看到当前分支的提交列表。

  2. 2

    啟動 interactive rebase

    選中要作为起点的提交(或按官方文件在 Branches 上对目标分支按 i),按 i 开始 interactive rebase。介面会列出 pick/squash 等待辦项。

  3. 3

    调整动作与顺序

    在 rebase 待辦列表里移动光标,用說明中列出的鍵切换 pick、squash、fixup、drop 等(常见为 Space 或专用字母鍵,以 ? 为准)。

  4. 4

    確認并处理衝突

    確認后 lazygit 会执行 rebase。若衝突,按提示進入文件面板解决,完成后继续 rebase(菜单或快捷鍵见說明)。

  5. 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 或协调后再改历史。

開始一場會議