lazygit 实战:Git 操作告别盲打命令,一个终端界面搞定提交、分支和冲突
为什么要用 lazygit? 说实话,我用了…
为什么要用 lazygit?
说实话,我用了十几年 Git,命令行早就刻进肌肉记忆里了。但架不住有些场景就是反人类:想快速看一眼改动了哪些文件,得 git status;想挑几个文件提交,得 git add 一个个敲;想看看分支提交历史,得 git log --oneline --graph 这一长串。尤其是在多个仓库之间来回切的时候,那种”手忙脚乱敲命令”的感觉,实在谈不上优雅。
lazygit 就是来治这个毛病的。它是一个用 Go 写的终端图形界面(TUI)Git 客户端,说白了就是把你最常用的 Git 操作,全部搬进一个带面板的交互界面里:左边是文件列表,右边是提交历史,按几个键就能完成暂存、提交、推送、分支切换、合并、解决冲突。不用记参数,也不用怕手滑敲错命令。
三步装好
各大发行版的包管理器基本都有现成的,一条命令搞定:
# Debian / Ubuntu
sudo apt install lazygit
# macOS(Homebrew)
brew install lazygit
# Arch Linux
sudo pacman -S lazygit
装完在任意 Git 仓库目录下直接输入 lazygit 回车,一个清爽的界面就弹出来了。
几个最实用的键
上手其实只需要记住下面这几个高频键,其余用 ? 随时查看帮助就行:
- 空格:在文件面板里暂存/取消暂存选中的文件(相当于
git add) - c:提交,弹出输入框写好 commit message 回车即可
- p:把当前分支推送到远程(相当于
git push) - P:拉取远程更新(相当于
git pull) - Tab:在文件面板和提交面板之间切换焦点
- [ 和 ]:在提交历史里上下移动,看每次提交改了啥
- b:打开分支面板,方便切换和新建分支
一个真实场景演示
假设我现在改了两个文件,只想提交其中一个。在命令行里我得先 git status 看清楚,再 git add 具体文件名,最后 git commit。在 lazygit 里,流程变成这样:
cd ~/my-project
lazygit
进入界面后,左边文件面板会列出所有改动文件。用方向键选中要提交的那个,按一下 空格 把它暂存;再按 c,输入 fix: 修复登录接口的报错,回车,本地提交就完成了;最后按 p 推上去,一气呵成。
遇到合并冲突的时候更是它的高光时刻。冲突文件会在面板里标红,按 空格 选中后,界面会给你列出本地和远程两个版本,用左右方向键就能直接选择保留哪一侧,或者手动编辑合并。相比在命令行里对着 <<<<<<< 标记一行行抠,效率高太多了。
小结
lazygit 不是要取代 Git 命令,而是把高频操作包装得更顺手。我现在的习惯是:复杂的自动化脚本、CI 流水线里继续用原生 git 命令,日常的提交、查看、分支、合并这些重复劳动,就交给 lazygit 处理。如果你也厌倦了反复敲 git status 的日子,给它十分钟试试,大概率就回不去了。
