把 Git 搬进终端:lazygit 的 5 个面板怎么分工
【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit
lazygit 是一个免费的 Git 终端可视化界面(TUI),它把命令行里最常用的 git 操作映射成单键快捷键,你不需要记命令参数,看状态、切分支、整理提交历史都能在同一个窗口里完成。本文按"你要完成的任务"来组织内容:每个场景告诉你看哪个面板、按什么键、会得到什么结果。
先认面板:屏幕被分成几块,各自管什么
打开 lazygit(进入任意 git 仓库目录后运行lazygit),左侧一列是侧边面板,从上到下依次是:状态栏(当前仓库和分支)、文件、本地分支、远程分支、标签、贮藏、子提交、引用日志(reflog,记录每次 ref 变化的日志,可以当后悔药看)等。右侧大区域是当前聚焦面板的详情:文件列表、diff、提交历史图。
用方向键或<tab>在面板之间切换,选中哪块,哪块就获得高亮边框,键盘输入就作用于那块。这是后面所有操作的共同前提,所以值得花一分钟把各面板的位置看清楚。
日常提交:三个键位完成暂存、写信息、入库
文件面板里,每个文件前面的状态字母代表它的处境:修改、新增、未跟踪(绿色)等。选中一个文件按space,该文件进入暂存区;想一次性处理所有文件就按a全选反选。然后按c提交,右侧弹出提交信息输入框,写好按<enter>,提交立即出现,历史面板顶部多出一条新记录。
几个高频配套操作:
- 只想提交 diff 里的某几行:选中文件按
<enter>进入暂存视图,用左右方向键选中代码块,space逐块暂存。 - 提交前想补一句信息:按
A直接修补(amend,把改动并入上一个提交),注意这会改写历史,已推送的提交慎用。 - 按
R可以随时刷新 git 状态,让面板和磁盘内容对齐。
提交历史乱了:变基、压缩、改写怎么做
"变基"(rebase)的意思是把一串提交挪到另一个提交底下重放一遍。lazygit 在子提交面板(本地提交历史)里把这套操作做成了按键:选中一个提交按e,从它开始进入交互式变基,历史里的提交变成可编辑列表,此时s把选中的提交压缩进目标提交、r重写它的信息、d删掉它、ctrl+j/ctrl+k调整顺序。
不想进完整变基界面的话,还有更轻的入口:选中提交按f直接 fixup(合并进下方提交并丢弃本条信息),按t生成一个反向的还原提交。想反悔时,全局z撤销上一条 git 命令,Z重做——它靠 reflog 定位要执行的命令,只处理提交、不涉及工作区文件。
合并冲突:文件逐个看,冲突块逐个选
合并或变基卡住时,文件面板里冲突文件会被明确标记。选中冲突文件按M进入冲突视图,冲突块会被拆分显示,用j/k或上下方向键在"采用上方版本/下方版本"之间切换,左右方向键跳到上一个/下一个冲突。全部处理完后按m查看合并/变基状态菜单,选"继续"即可走完流程;中途想放弃就选中止。
冲突解决过程中按e可以把文件丢给外部编辑器手动改,z撤销上一步的冲突选择——这两键在反复试错时非常实用。
分支多了:切换、新建、合并各按什么
本地分支面板列出所有分支,当前分支有星号标记。选中目标分支按space检出;懒得用方向键就按c直接输入分支名,输入-表示切回上一个分支,这个动作比多数场景都频繁。
新建分支按n,基于当前提交创建;如果一个功能分支想干净地接在主分支后面,选中它按r变基到选中分支;想并入主分支就选它按M,会给出普通合并或压缩合并两个选项。远程分支面板里对应p(拉取)和P(推送),推送时若分支还没有上游,弹窗里可以直接指定。
两个容易踩的坑,以及进阶入口
第一个坑是混淆"取消暂存"和"放弃变更":space只是把文件挪出暂存区,内容还在;按d才会丢弃工作区修改,这一步没有确认前的回退余地,按之前先看清选中对象。第二个坑是 amend 和 fixup 的边界:A修补的是上一个提交,f处理的是选中的提交本身,对已推送的提交做这两件事都会改写远程历史,团队仓库里要先和队友说一声。
想进一步定制,两处文档够用:docs/Config.md 列出了全部配置项(主题、快捷键、面板比例都在里面),docs/keybindings/Keybindings_zh-CN.md 是按中文整理的完整键位表。
现在就打开你的仓库目录运行一次 lazygit,按?调出当前面板的快捷键菜单扫一遍,然后挑一个功能分支练space切换、c提交、s贮藏,十分钟就能走完上面提到的所有场景。
【免费下载链接】lazygitsimple terminal UI for git commands项目地址: https://gitcode.com/GitHub_Trending/la/lazygit
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考