lazygit 上手指南:用 TUI 管理分支、暂存与冲突处理

这篇教程适合谁

如果你经常在命令行里用 Git,但又觉得 git status/git add/git checkout 这些步骤在高频切换时容易手滑、记不住当前上下文,那么 lazygit 会非常合适。它把“分支/提交/暂存区/冲突/日志”集中在一个终端界面里,让你用更少的命令完成同样的事,并且每一步都看得见、能撤销。

工具地址与参考链接

项目主页:https://github.com/jesseduffield/lazygit

安装与文档(README 内):https://github.com/jesseduffield/lazygit#installation

安装:macOS / Windows / Linux 常见方案

你可以按自己环境选择一种即可:

macOS(Homebrew):brew install lazygit

Windows(Scoop):scoop install lazygit

Windows(WinGet):winget install -e --id JesseDuffield.lazygit

Linux(常见发行版会在包管理器或 Release 中提供):建议直接以项目 README 的“Installation”部分为准,避免安装到过旧版本。

第一次打开:先把“仓库状态”看懂

在你的仓库目录运行 lazygit。界面通常会分成几个面板(名称可能因版本/布局略有不同):

1)文件(Files):改动文件列表,类似 git status。

2)分支(Branches):当前分支、远端分支、最近切换记录。

3)提交(Commits):提交历史与差异预览。

4)暂存区(Staged):你已 git add 的内容。

核心思路:先在 Files 面板确认“改了什么”,再决定“要不要暂存”,最后才是“提交/推送/开分支”。这样能显著减少把不该提交的文件带进去的概率。

日常提交流程:从改动到一次干净的 commit

一个稳定的节奏是:

1)只挑需要的文件/代码块加入暂存区。lazygit 的优势在于你可以可视化地选择文件、甚至选择部分变更(相当于 git add -p 的图形化体验)。

2)确认 Staged 面板里的内容就是你想提交的“最小集合”。

3)创建提交信息(commit message)。建议用“动词 + 对象 + 结果”的短句,比如:Fix: handle empty config when bootstrapping 或 Docs: add lazygit workflow notes。

4)需要时再推送(push)。把“提交”和“推送”拆开,能减少把未完成的工作过早同步出去。

分支切换与同步:把“切换成本”降到最低

很多人效率低,不是因为不会 Git,而是害怕切分支后找不到状态。建议在 lazygit 里养成两件事:

1)切分支前先确认 Working Tree 干净(或明确知道有哪些未提交改动)。

2)需要临时保存改动时,优先用 stash,并给 stash 一个能一眼看懂的名字。命令行等价操作是:git stash push -m "wip: refactor auth"。在 lazygit 里做这件事会更直观。

同步远端时,先 pull(或 fetch + re /merge),再 push,避免远端领先导致的推送失败。

冲突处理:用可视化差异减少“越改越乱”

当你 re /merge 遇到冲突时,最重要的是:不要慌着到处改。推荐步骤:

1)先在冲突文件上查看差异,理解冲突来自哪两边的改动。

2)一次只处理一个文件,处理完立刻暂存(staged),让进度可见。

3)每解决一个冲突,就重新检查运行结果或至少执行一次基础校验(比如跑一次构建/单元测试),避免把新的问题带入。

lazygit 的差异预览能让你更快定位到冲突块,减少误删代码或重复编辑的情况。

常见小技巧:让它更像你的工作流

1)把 lazygit 当成“Git 的仪表盘”:先看状态再动作,少走回头路。

2)把提交拆小:每个 commit 只做一件事,后续回滚/排查会轻松很多。

3)配合你常用的编辑器:lazygit 可以调用外部 diff/编辑器(具体配置以文档为准),把“查看差异”和“编辑修复”串起来。

结语

如果你愿意给它 30 分钟的熟悉时间,lazygit 往往能换来长期的“更少命令、更少手滑、更少迷路”。建议你先从一个小仓库开始练:做一次分支切换、一次分段暂存、一次冲突解决,很快就能把它融入日常。

用户评论 (0)

登录后参与讨论

立即登录 注册账号

暂无评论,快来抢沙发吧~

操作成功