词级比较是什么
以单词为粒度标记增删,而不是整行。--word-diff 输出词级增删标记,--color-words 用颜色呈现变化部分。它适合长行代码与文档类修改的阅读:一眼就能看出句子或表达式里改了哪几个词,不必在整行删除与整行新增之间自己找差异。
基本信息
| 词级标记 | --word-diff,默认用方括号与标记符号标出增删 |
|---|---|
| 颜色呈现 | --color-words,终端里按颜色高亮变化的词 |
| 脚本格式 | --word-diff=porcelain,逐词输出便于二次处理 |
| 自定义切词 | --word-diff-regex 指定「词」的切分规则 |
| 适用范围 | 文档、长行配置、压缩后的代码文件 |
典型使用场景
- 审阅说明文档或注释里的措辞改动
- 长行代码中只改了条件表达式的一部分
- 配置文件单行很长,逐行比较看不出重点
- 对比两版说明文字之间的细微差异
- 向非技术同事展示这次到底改了什么
常用示例
常用示例
git diff --word-diff # 词级增删标记
git diff --color-words # 颜色高亮,阅读更直观
git diff --word-diff=porcelain | head # 面向脚本的格式
git diff --word-diff-regex='[^ ]+' # 按自定义规则切词
git show HEAD --word-diff -- README.md # 查看某次提交对文档的词级改动输出逐项读法
| 标记 | 含义 |
|---|---|
| 方括号加减号标记 | 被删除的词 |
| 花括号加加号标记 | 新增的词 |
| 无标记部分 | 未发生变化的上下文 |
| porcelain 格式 | 每行带前缀标记变化类型,便于解析 |
整段被重排(例如跑过格式化之后)的改动,词级视图比整行刷屏更容易看清实质变化,评审时能显著减少噪音。
词级输出不是标准补丁格式,不能用来打补丁;需要生成可应用的补丁时仍要使用普通差异输出。
同一条命令可以叠加忽略空白等选项,先过滤掉格式噪音再看词级改动,评审文档时能更快抓住真正变化的内容。