PR rebase 或者改写提交后,直接看普通 diff 往往不太容易判断每个提交有没有漏改。Git 2.19+ 可以用 git range-diff 对比两组提交范围。
git range-diff origin/main...old-topic origin/main...new-topic
如果旧分支和新分支的基点不一样,也可以把两边的提交范围明确写出来:
git range-diff old-base..old-topic new-base..new-topic
它会按提交匹配并标出每个提交的新增、删除和变化,适合 rebase 后给自己做一次快速复核。命令只读本地提交,不会修改工作区;仓库里要先有旧提交和新提交这两组对象。