Skip to content
← 返回全部工具

lazygit

免费

终端里的 Git 界面,暂存和变基不用再背命令

开源 无广告 无追踪 离线可用 无需注册 跨平台

终端里的 Git 图形界面。在一个窗口里看到分支、提交、暂存区和文件改动,用单键完成暂存、提交、切分支、合并、变基、拣选和撤销。支持逐行暂存和交互式变基,操作可撤销。Windows 版压缩包约 7 MB。

为什么推荐它

Git 的命令行很强,但有些操作的心智负担确实高:交互式变基要记参数、 只想提交某个文件里的三行要用 git add -p 一段段确认、 看分支关系要 git log --graph --oneline --all 这种一串东西、 手滑之后想撤销要现查 reflog 怎么用。

lazygit 把这些包成了一个终端界面。81,337 颗星,MIT,Go 写的单文件可执行程序, Windows 版解压出来只有 7 MB 左右。

实际体验里最省事的几件事:

  • 逐行暂存。进入文件的 diff 视图,用方向键选中要提交的那几行, 按空格暂存。把一次混乱的改动拆成几个干净的提交,这是它最常被夸的功能。
  • 交互式变基可视化。在提交列表里直接对某个提交按键选择 squash、 fixup、drop、reword、edit,不用编辑那个 rebase todo 文件。
  • 撤销。按 z 撤销上一步操作,它内部靠 reflog 实现。 对于"刚才那下按错了"的场景,这比自己查 reflog 快得多。
  • 一屏看全局。左边是分支、提交、暂存文件的面板,右边是 diff, 切分支、看某个提交改了什么、比较分支差异都在同一个界面里。

它不是把 Git 简化了,而是把 Git 已有的能力做成了可见可点的。 你在里面做的每一步都对应一条真实的 git 命令(可以按 @ 看它执行了什么), 所以用它不会让你的 Git 知识退化。

要说清楚的:

  • 它是终端程序,不是桌面 GUI。习惯图形窗口、拖拽操作的人可能不适应, 那种需求可以看 GitHub Desktop 或 Git Extensions。
  • 需要先装 Git。它是 Git 的界面,不是 Git 的替代品。
  • 快捷键要花一两天肌肉记忆。界面里按 x 随时能调出当前上下文的快捷键列表, 不用背。
  • 不做代码托管平台的事。Pull Request、Issue、Review 这些要去网页或用 gh 命令。

如果你每天都在用 Git,并且还在用命令行手工敲那些复杂操作,这个工具大概能给你省下不少时间。