Git range-diff: проверить изменения после rebase
git range-diff показывает, какие коммиты и патчи изменились после rebase или пересборки ветки. Он помогает проверить новую серию отдельно от обычного diff файлов, сопоставляя патчи старой и новой версии и отмечая добавленные, удалённые или изменённые коммиты.
Сравнить ветку до и после rebase
Сразу после rebase, пока нужное состояние есть в reflog, сравните старый и новый tips относительно upstream:
git range-diff '@{u}' '@{1}' '@'@{u} — upstream текущей ветки, @{1} — предыдущее значение HEAD из reflog, @ — текущий HEAD. Для явных сохранённых ссылок используйте форму git range-diff <base> <old-tip> <new-tip>:
git range-diff origin/main topic-before topic-afterКоммиты с = совпали, ! обозначает изменившийся патч, < — коммит только в старой серии, > — только в новой. Если rebase прошёл давно, проверьте reflog и подставьте точные ссылки на старую и новую серии.
range-diff предназначен для чтения человеком: его формат не стабилен для скриптов и результат не является патчем для применения. По умолчанию merge-коммиты не сравниваются; для них изучите --diff-merges. См. документацию git range-diff.