Repolode
banga

banga/git-split-diffs

在终端中以 GitHub 风格并排显示带语法高亮的 git diff。

Star
2,745
Fork
51
未关闭 Issue
14
最近提交
27天前

这是什么?

git-split-diffs 是一个 git 分页过滤工具,可将统一格式的 diff 转换为类似 GitHub 的并排视图,左右分别显示修改前后的内容。它可以设为 git 的 core.pager,使 git diff、git log -p 等命令自动使用;也可以手动通过管道接收 git diff 的输出。

语法高亮基于 shiki 实现,使用与 VS Code 相同的语法文法和主题。行内的具体改动默认也会被高亮标出。内置多套主题,包括 GitHub Light、GitHub Dark (Dim)、Solarized、基于 Nord 的 Arctic 以及单色主题,也支持从本地目录加载自定义主题。

输出会根据终端宽度调整:默认自动换行;当终端宽度不足以容纳两列最小行宽时,则回退为统一格式的 diff。

核心功能

  • 01GitHub 风格的并排 diff,可直接作为 git 的 core.pager 使用。
  • 02基于 shiki 的语法高亮,沿用 VS Code 的语法文法和主题。
  • 03高亮行内具体改动的单词,可通过配置关闭。
  • 04内置多套主题,并支持加载自定义主题文件。
  • 05窄终端下自动回退为统一格式的 diff。

适用场景

  • 在终端中查看 git diff 和 git log -p 的输出,以更易读的并排形式对比改动。
  • 通过 git 配置为个人或团队统一更易读的默认 diff 显示方式。
  • 在没有图形界面的环境中,通过 SSH 在终端里浏览代码历史变更。

快速上手

  1. 1

    使用 npm 全局安装

    npm install -g git-split-diffs
  2. 2

    配置 git 使用它作为分页器

    git config --global core.pager "git-split-diffs --color | less -RFX"

使用前须知

  • 需要 Node.js 14 或更高版本。
  • 默认情况下,终端宽度小于 160 字符时会退回为统一格式的 diff。

收录于专题

标签

常见问题

git-split-diffs 是什么?
在终端中以 GitHub 风格并排显示带语法高亮的 git diff。 git-split-diffs 是一个 git 分页过滤工具,可将统一格式的 diff 转换为类似 GitHub 的并排视图,左右分别显示修改前后的内容。它可以设为 git 的 core.pager,使 git diff、git log -p 等命令自动使用;也可以手动通过管道接收 git diff 的输出。
git-split-diffs 可以免费使用吗?用的什么许可证?
git-split-diffs 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
git-split-diffs 还在维护吗?
活跃维护中。git-split-diffs 最近一次提交是在 2026年10月11日。
git-split-diffs 适合用来做什么?
在终端中查看 git diff 和 git log -p 的输出,以更易读的并排形式对比改动。 通过 git 配置为个人或团队统一更易读的默认 diff 显示方式。 在没有图形界面的环境中,通过 SSH 在终端里浏览代码历史变更。
git-split-diffs 怎么安装和运行?
使用 npm 全局安装: npm install -g git-split-diffs 配置 git 使用它作为分页器: git config --global core.pager "git-split-diffs --color | less -RFX"
在哪里获取 git-split-diffs?
源代码和安装说明在 GitHub 上:https://github.com/banga/git-split-diffs

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目