lazygit 快速上手指南:8 个 Git 高频操作如何在一块终端屏里完成
【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit
lazygit 是一个运行在终端里的 Git 图形界面工具。本文带你从安装到日常提交、分支切换,再到 rebase 与冲突处理,用一条操作路径讲清这套 lazygit 快捷键工作流。
一、先说说命令行里的那些别扭时刻
写过git rebase -i的人都记得那个 TODO 文件:要改的提交顺序、要合并的提交,全靠手敲一行行指令。只想暂存一个文件里的两行代码,得打开 patch 编辑器按代码块一步步确认。切换分支前被告知工作区不干净,先git stash,切完再git stash pop,最后发现压根没冲突。
lazygit 做的事,就是把这类操作从「敲命令」变成「按按键」:它不替代 git,而是把 git 命令映射到界面上,你在面板里选对象、按快捷键,剩下的命令由它在后台执行。
二、30 秒认知:它是什么、和 git 什么关系
一句话:lazygit 是 git 的可视化外壳,底层跑的还是你机器上那个 git 版本,仓库数据不变,只是操作方式变了。适合三类人:天天写代码但记不住 git 参数的人、想摆脱编辑器切换的人、以及已经会用 git 但想少敲一半命令的人。你只需要会git status这个概念,剩下的交给界面。
三、安装三步走
这一节只解决一件事:把 lazygit 跑起来。
3.1 安装(macOS 或 Windows 任选其一)
# macOS brew install lazygit# Windows(Scoop) scoop bucket add extras scoop install lazygitLinux 发行版基本都有对应包管理器渠道,从源码编译则先拉取仓库git clone https://gitcode.com/GitHub_Trending/la/lazygit,进入目录执行go install。
3.2 首次启动与目录约定
cd进任意 git 仓库,直接敲lazygit。启动后你会看到几个面板:左侧是文件、分支、远程、标签等列表,中间是主视图(差异内容),右侧是提交历史,底部是状态条。面板之间用tab切换焦点,按?随时弹出当前面板的快捷键菜单——这是你以后查键位最省力的方式。
3.3 完成第一个提交
在文件面板选中一个改动文件,按space暂存,按c在弹出的输入框里写提交信息并回车,再按P推送。三步走完,你已经跑通了 lazygit 的最小闭环。
四、日常高频动作:状态 → 暂存 → 提交 → 分支 → 历史 🎯
日常开发 90% 的时间就发生在这条路径上,记住下面这一串按键基本够用:
- 看状态:文件面板实时列出新增、修改、删除的文件,状态栏显示分支名与领先/落后提交数;手动刷新按
R。 - 暂存:
space暂存整个文件;只想要其中几行?按enter进入暂存视图,再用space按行、按块勾选。 - 提交:
c提交,A用当前暂存内容修补上一次提交,改错提交信息不用重开终端。 - 分支:
tab切到分支面板,space检出选中分支,n新建分支,c按名称检出,-跳回上一个分支——最后这个键会让你频繁感谢自己。 - 看历史:右侧提交面板用图形显示分支汇合关系,
enter查看某次提交动了哪些文件,y复制提交哈希或信息,/在任意面板里开始过滤搜索。
五、进阶操作:rebase、拣选、冲突、贮藏
这些动作不用背原理,按「什么时候用、怎么按、按完看到什么」记住即可。
rebase(整理提交历史)
- 何时用:本地提交推出去之前,想把一串零碎提交压干净。
- 怎么操作:在提交面板按
i进入交互式变基,对目标提交按s合并、d丢弃、ctrl+k/ctrl+j上下移动,处理完按m选继续。想把当前分支变基到另一条分支上,则直接在分支面板选中目标分支按r。 - 结果长什么样:提交列表被重写,零碎提交消失,
git status显示领先数减少。
cherry-pick(拣选单个提交)
- 何时用:别的分支上有个提交想要,但不想整条分支合并过来。
- 怎么操作:在那个提交上按
C标记复制,切回目标分支按V粘贴。 - 结果长什么样:目标分支多出这个提交,哈希是新生成的。
冲突处理(合并或变基卡住时)
- 何时用:rebase / merge 停在冲突状态,主面板顶部出现提示。
- 怎么操作:冲突文件会标出来,按
M打开解决菜单,用外部编辑器改完保存,再按m选继续;想放弃整个操作也走m的中止选项。 - 结果长什么样:冲突标记消失,分支恢复可推送状态。
stash(暂藏工作区)
- 何时用:手上改动没完成,但急需切分支。
- 怎么操作:文件面板按
s贮藏全部改动,S可选只藏已暂存或未暂存部分;之后在贮藏面板对条目按space恢复,d丢弃。 - 结果长什么样:文件面板清空,贮藏面板里多一条记录,随时可找回。
六、个性化:改配置就够了
不想用默认键位?改一个配置文件,不碰代码:
- 按
alt+shift+c直接打开配置文件(Linux 默认在~/.config/lazygit/config.yml)。 gui.theme换配色,深色终端选默认色即可。language改界面语言,支持中文在内的多语种。keybinding段整体自定义键位,常用键都有文档说明。gui.showFileTree控制文件列表用树形还是平面布局。- diff 上下文行数用
git.diffContextSize调,配合{、}键可运行时增减。
七、常见坑与排错
- 面板看起来不更新:lazygit 不自动拉取远程,按
f执行 fetch、R刷新状态,领先/落后数字才会变化。 - rebase 后推送被拒:历史被重写,普通 push 会被拒绝,按
P时选 force-with-lease 方式推送即可,比手敲git push --force-with-lease安全地多一层。 - 误删了提交想撤销:按
z撤销、Z重做,底层走 reflog;注意它只覆盖提交和分支层面,不覆盖工作区文件的丢弃。 - 工作区脏到无法切分支:文件面板按
D调出重置菜单,或按s先贮藏,别硬用F强制检出——那是真丢改动的操作。
八、团队协作:同步、上游与 PR 前的整理
多人协作场景下,lazygit 把同步动作收敛到三个键:ffetch、ppull、Ppush。分支面板按u可以给当前分支设置或取消上游,之后 pull/push 就不用再猜推去哪。
PR 提交前的标准动作:确认改动完整后,按i进交互式变基,把调试、typo 类提交用s压进真正有意义的提交里,再按P推上去。历史干净,reviewer 翻起来也快。装了 GitHub CLI 的话,分支面板还能直接o创建 PR、G在浏览器里打开已有 PR,状态图标颜色直接反映 PR 是否已合并。
九、延伸资源
- 官方配置文档:docs/Config.md
- 中文快捷键清单:docs/keybindings/Keybindings_zh-CN.md
- 范围选择与批量操作:docs/Range_Select.md
- 撤销机制详解:docs/Undoing.md
一条实践建议:别急着背所有键位,先只用「space暂存、c提交、P推送、?查帮助」这四个键工作一周,第二周再补分支和 rebase 相关的键,记忆曲线会平缓很多。
结尾
lazygit 的价值不在功能多,而在它把「查状态、暂存、提交、切分支、理历史」这条你每天都在走的路压成了一排按键。现在打开终端,cd进你的仓库,敲下lazygit。
【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考