有些文档、README 或一行很长的配置改动,用普通 git diff 看起来整行都变了,其实只改了几个词。这个时候 --word-diff 会舒服一点。
环境:Git 2.30+。随便建个目录试:
mkdir git-word-diff-demo && cd git-word-diff-demo
git init
printf 'timeout is 1000 ms and retry is 2\n' > config.txt
git add config.txt
git commit -m 'init'
python - <<'PY'
from pathlib import Path
p = Path('config.txt')
s = p.read_text()
s = s.replace('1000', '2000').replace('retry is 2', 'retry is 3')
p.write_text(s)
PY
git diff --word-diff
输出里被删掉和新增的词会直接夹在行内,看这种小范围文字变化挺直观。
如果觉得默认标记不太顺眼,也可以试试:
git diff --word-diff=color
代码改动我一般还是看普通 diff,多行文本、说明文档、锁文件里某些短字段变化,才会想起这个。