如何在终端中获取Git彩色并排inline diff输出(续问)
终端内联显示Git Side-by-Side Diff的实用方案
我明白你想要的是在终端里直接输出并排格式的diff结果,完全不需要启动任何GUI工具,和默认git diff的内联输出形式一致。这里给你几个靠谱的解决方案:
一、临时单次使用(无需修改配置)
如果你只是偶尔需要看并排diff,直接在命令行加参数调用系统自带的diff工具即可:
git diff --no-index --side-by-side <文件1> <文件2>
如果是查看版本库中文件的变更(比如当前工作区和暂存区的差异),可以用更便捷的写法:
git diff | diff --side-by-side --width=$COLUMNS - <(git diff --no-color)
二、配置为默认行为(永久生效)
把并排diff设为git diff的默认输出格式,只需要修改你的git配置文件(全局或仓库级):
方法1:通过git config命令设置
执行以下命令,让git默认使用带并排参数的diff作为差异对比工具:
git config --global diff.external 'diff --side-by-side --width=$COLUMNS'
--width=$COLUMNS会自动适配你的终端宽度,避免内容被截断。
方法2:手动编辑.gitconfig文件
打开你的全局git配置文件(通常在~/.gitconfig),添加以下内容:
[diff] external = diff --side-by-side --width=$COLUMNS
三、临时恢复默认diff格式
如果你某天又想用回原来的git diff格式,只需要在命令中加上--no-external参数:
git diff --no-external
注意事项
- 如果你的终端宽度不够,并排的内容可能会自动换行,建议调整终端窗口宽度或者修改
--width的值(比如改成--width=180)。 - 部分Linux发行版或macOS的
diff工具可能略有差异,如果--side-by-side不生效,试试短参数-y,也就是把配置里的--side-by-side换成-y。
内容的提问来源于stack exchange,提问作者Jonah
相关产品推荐
相关产品推荐

