How did this rebase change my commits, really?
Compare two patch series. Tells you what's the same, what's been added/dropped/reordered, what the diffs of the diffs look like. Indispensable for re-rolled patch sets.
Range-diff hashes each commit in both series with patch-id to match equivalent commits across the two ranges, then diffs the matching pairs. Two-color output: one color shows what one side has, the other shows the diff between matched pairs.
git range-diff [--color=[<when>]] [--no-color] [<diff-options>]
[--no-dual-color] [--creation-factor=<factor>]
[--left-only | --right-only]
( <range1> <range2> | <rev1>...<rev2> | <base> <rev1> <rev2> )
[[--] <path>...]| Flag | What it does |
|---|---|
<rev1>...<rev2> | Compare two ranges anchored at their merge-base. |
--creation-factor=<n> | How aggressively to match commits across the two series. |
--no-dual-color | Disable the per-side color coding. |
$ git range-diff main..feature-v1 main..feature-v2format-patch --range-diff so the cover letter shows it inline.Hit each option, then Check answers. Score is recorded; Next is always open.