Loading...

文章背景图

LazyGit 保姆级部署教程:终端里的交互式 Git 客户端从零到一完整搭建

2026-10-30
0
- 字
- 分钟
|

LazyGit 是一个用 Go 写的终端 Git UI,截至本文写作时在 GitHub 上收获约 8.3 万 Star,master 分支最近一次提交在 2026 年 10 月,仍在活跃维护。它把 git 的所有日常操作——add、commit、rebase、merge、stash、reset、cherry-pick——全部变成键盘可达的 TUI,让你不用再记一堆命令行参数。

为什么需要它?git 本身很强大,但日常用起来很痛:交互式 rebase 要编辑 TODO 文件、分 hunk stage 要逐块走 patch、切分支时忘 stash 导致冲突。LazyGit 的卖点就是把这些操作用全屏 TUI 可视化——左边文件树、中间 diff、右边提交历史,按一下空格就 stage,按 c 就 commit,按 v 就能可视化 rebase。本文从零开始,把 LazyGit 在 macOS / Linux / Windows 上装好、讲清楚核心操作。

一、项目介绍与适用场景

LazyGit 是一个全屏终端 TUI,你在任意 Git 仓库目录敲 lazygit,进入一个分栏界面。适合:

  • 命令行党:喜欢终端工作流,但不想背 git 命令参数。
  • 高频 rebase 用户:可视化交互式 rebase 比编辑 TODO 文件快十倍。
  • 代码评审者:在终端里逐 hunk 看 diff、stage、commit。
  • 多分支开发者:可视化切分支、cherry-pick、merge。

二、核心功能逐条拆解

  1. 分 hunk / 分文件 stage:在 diff 视图里按 a 切行级选择,按 v 选范围,按空格 stage。
  2. 交互式 rebase:可视化 rebase,不用编辑 TODO 文件。
  3. Undo / Redo:按 u 撤销上一次 git 操作,git 操作失误不怕。
  4. Stash 管理:可视化 stash 列表、apply、drop。
  5. Cherry-pick:从提交历史里选 commit 直接摘到当前分支。
  6. Merge / Rebase 冲突解决:冲突文件分栏展示,逐个选 ours / theirs。
  7. Custom Commands:在配置里写自定义 git 命令,一键触发。
  8. Git Flow 支持:内置 git flow 工作流快捷键。
  9. 跨平台:macOS / Linux / Windows(WSL / Scoop / Choco / Winget)全支持。

三、全套官方链接

类型 链接
GitHub 仓库 https://github.com/jesseduffield/lazygit
Releases https://github.com/jesseduffield/lazygit/releases
官方文档 https://github.com/jesseduffield/lazygit/tree/master/docs
License MIT

四、硬件与环境前置要求

LazyGit 是单个 Go 编译的二进制,资源占用极小:

  • 操作系统:任意现代 Linux / macOS / Windows。
  • Git:必须先装 git(LazyGit 是 git 的前端,不替代 git)。
  • 终端:任意支持真彩色的现代终端(iTerm2、Alacritty、kitty、Windows Terminal 等)。
  • 内存 / CPU:< 50MB,秒启动。

五、多平台安装步骤

5.1 macOS(Homebrew)

官方 README 原文:

brew install lazygit

MacPorts:

sudo port install lazygit

5.2 Debian / Ubuntu

sudo apt install lazygit

5.3 Arch Linux

sudo pacman -S lazygit

5.4 Fedora / RHEL

sudo dnf copr enable dejan/lazygit
sudo dnf install lazygit

5.5 Windows

Scoop:

scoop bucket add extras
scoop install lazygit

Chocolatey:

choco install lazygit

Winget:

winget install lazygit

5.6 Go 安装(任意有 Go 环境的系统)

go install github.com/jesseduffield/lazygit@latest

5.7 其他 Linux 发行版

  • Void Linux:sudo xbps-install -S lazygit
  • Solus:sudo eopkg install lazygit
  • Gentoo:sudo emerge dev-vcs/lazygit
  • openSUSE:官方仓库有 lazygit
  • NixOS:nix-env -iA nixos.lazygit

5.8 手动安装二进制

从 https://github.com/jesseduffield/lazygit/releases 下载对应平台的 tar.gz / zip,解压后:

sudo install lazygit -D -t /usr/local/bin/

六、配置文件全部参数解释

LazyGit 的配置文件在 ~/.config/lazygit/config.yml(首次启动后自动生成默认模板)。常用配置:

user:
  name: Your Name
  email: you@example.com
gui:
  theme:
    activeBorderColor:
      - green
      - bold
  showRandomTip: true
  sidePanelWidth: 0.33
git:
  paging:
    color: true
  commit:
    signOff: false

官方文档(docs/ 目录)有完整配置项说明。Custom Commands 是高级玩法:在 config.yml 里写自定义 git 命令,绑快捷键一键跑。

七、启动、后台与日常使用

7.1 启动

cd your-git-repo
lazygit

预期:进入全屏 TUI,左边文件树、中间 diff、右边提交历史。

7.2 退出

按 q 退出 LazyGit,回到 shell。注意:LazyGit 是交互式工具,本身不是后台服务,不需要常驻。

7.3 修改目录后退出

官方 README 提到「Changing Directory On Exit」——如果你在 LazyGit 里切了目录,退出时可以让 shell 跟到那个目录(需要配合 shell 包装脚本,见官方文档)。

八、功能实操教程

第 1 步:按 5.1 / 5.2 装好,cd 到一个 Git 仓库。

第 2 步:敲 lazygit。进入主界面,左边是当前修改的文件列表。

第 3 步:用方向键选一个修改过的文件,按 enter 看 diff。

第 4 步:在 diff 视图里,按 space stage 整个 hunk;按 a 切行级选择;按 v 选多行。

第 5 步:按 c 写 commit message,回车提交。

第 6 步:按 u 撤销刚才的 commit(试试,不怕,LazyGit 随时 undo)。

第 7 步:按 P (大写)打开提交历史,选一个 commit 按 enter 看它的完整 diff。

第 8 步:按 s (在文件树)打开 stash 列表,试试 stash 当前改动、切分支、再 stash apply。

第 9 步:可视化 rebase——切到 main 分支,按 shift+r 进入 interactive rebase 模式,用方向键选 commit、按 s squash、按 d drop。

九、全套报错故障排查

报错 1: lazygit: command not found 原因分析:安装目录不在 PATH。 解决方案:确认 brew / apt 装好后重开终端;手动安装的话把二进制放到 /usr/local/bin/。

报错 2: 启动后报「fatal: not a git repository」。 原因分析:你在非 Git 目录里跑 lazygit。 解决方案:cd 到一个 git clone 的仓库,或先 git init。

报错 3: 中文文件名乱码。 原因分析:终端编码不是 UTF-8。 解决方案:把终端设为 UTF-8(macOS 默认就是;Windows Terminal 也默认 UTF-8)。

报错 4: 颜色不对、界面错位。 原因分析:终端不支持真彩色或终端类型不对。 解决方案:用 iTerm2 / Alacritty / kitty / Windows Terminal;在 config.yml 里换 theme。

报错 5: undo 后历史不对。 原因分析:LazyGit 的 undo 只撤销它自己记录的操作,外部 git 命令跑的操作它管不到。 解决方案:重要操作前先 git tag backup 打个快照。

十、升级、回滚与卸载

升级: - brew:brew upgrade lazygit - apt:sudo apt update && sudo apt install --only-upgrade lazygit - go install:go install github.com/jesseduffield/lazygit@latest

备份建议:配置文件 ~/.config/lazygit/config.yml 单独备份。

回滚:从 Releases 下载旧版本二进制替换。

卸载: - brew:brew uninstall lazygit - apt:sudo apt remove lazygit - 手动安装:sudo rm /usr/local/bin/lazygit

十一、商用许可与合规风险提示

LazyGit 采用 MIT(LICENSE 原文:Copyright (c) 2018 Jesse Duffield),可自由商用、二次开发、嵌入其他工具。它是 git 的前端,不修改 git 本身,所有 git 操作的合规性由你自己负责(commit message、提交作者、签名等)。

参考链接

  • GitHub 仓库:https://github.com/jesseduffield/lazygit
  • Releases:https://github.com/jesseduffield/lazygit/releases
  • 文档:https://github.com/jesseduffield/lazygit/tree/master/docs
  • 配置示例:https://github.com/jesseduffield/lazygit/blob/master/docs/Config.md
评论交流

文章目录