终端里的 Git:git-delta + lazygit + gh
Git 的默认输出是纯文本,diff 里的加减行只有红绿两色,git log 的历史要翻很多屏,PR 操作必须切到浏览器。这三件事都有更顺手的处理方式。
git-delta 解决 diff 显示,lazygit 解决交互操作,gh 解决 GitHub 集成。
git-delta:给 diff 加语法高亮和行号
git-delta 接管 git 的 pager,把原来的纯文本 diff 替换成带语法高亮、行号、可选左右对比视图的界面。
安装
1 | brew install git-delta |
配置到 .gitconfig
delta 通过 ~/.gitconfig 生效,不需要改 .zshrc:
1 | [core] |
配置完成后,git diff、git show、git log -p 都会自动走 delta。
主题选择
1 | delta --list-syntax-themes |
暗色系常用:Dracula、Nord、OneHalfDark;亮色系:GitHub。把选好的主题名填进 syntax-theme 字段即可。
lazygit:用 TUI 完成大部分 Git 操作
lazygit 是 git 的终端可视化界面,左侧面板覆盖工作区、分支、提交历史、stash 四大场景,日常 80% 的 Git 操作都可以在里面完成,不需要记参数。
安装
1 | brew install lazygit |
启动
在任意 git 仓库目录下运行:
1 | lazygit |
加一个别名到 ~/.zshrc:
1 | alias lg='lazygit' |
界面布局

进入 lazygit 后,用 1-5 数字键切换左侧面板,也可以用 h/l 左右移动:
1 | 1 - Status 当前仓库状态 |
↑/↓ 在面板内移动选中项,Enter 进入详情,右侧大窗口实时显示 diff 预览(装了 delta 的话这里也走 delta 渲染)。
核心操作
Stage / Unstage(在 Files 面板):
1 | Space 对选中文件 stage/unstage(切换) |
提交:
1 | c 提交(弹出编辑框输入 message) |
Push / Pull:
1 | P push 到远程 |
分支操作(在 Branches 面板):
1 | n 新建分支 |
交互式 rebase(在 Commits 面板,选中某条提交后):
1 | e 进入 interactive rebase 模式 |
命令行 rebase 需要手动编辑 todo 文件,lazygit 里直接选中拖动,直观很多。
查帮助:
1 | ? 显示当前面板所有快捷键 |
gh:在终端里操作 GitHub PR 和 Issue
gh 是 GitHub 官方命令行工具,PR 创建/审核/合并、Issue 管理、仓库操作都可以在终端里完成,减少浏览器切换。
安装
1 | brew install gh |
认证
1 | gh auth login |
仓库操作
1 | gh repo clone owner/repo |
PR 操作
1 | gh pr list |
Issue 操作
1 | gh issue list |
实用组合
1 | # 列出分配给自己的 PR |
.gitconfig 完整配置
1 | [core] |
lazygit 和 gh 不需要额外配置 .gitconfig,装完即用。
从哪里开始
三个工具互相独立,可以按需单独装:
- git-delta:先装,收益最直接。配置完
.gitconfig之后跑一次git log -p,立刻看到区别 - lazygit:在一个有改动的仓库里启动,先按
?看快捷键,把 stage + commit + push 这条主线跑通 - gh:有 GitHub 工作流的项目里最实用,先用
gh pr list和gh pr checkout熟悉一下,再用gh pr create替代浏览器操作
系列前几篇装过的 fzf,lazygit 内部的分支搜索和文件选择会自动调用,不需要额外配置。






