n1ro°
RU

Компьютеры · Инструкция

Как сравнить коммиты по содержимому с git patch-id

Commit SHA меняется вместе с метаданными и родителями, поэтому он не подходит для поиска «того же изменения» после переп

Редакция N1RO · Проверено

Короткий ответ

Передайте diff коммита в `git patch-id --stable` и сравните первый хеш для двух коммитов. Совпадающий patch-id указывает на эквивалентные изменения.

Что сделать

  1. 1: Получите diff нужного коммита через `git show <commit>`.
  2. 2: Передайте его в `git patch-id --stable`.
  3. 3: Сравните первый хеш patch-id для двух коммитов: одинаковый ID указывает на практически эквивалентный патч.

Команда или настройка

  • git show <commit> | git patch-id --stable

Проверка

  • Получайте patch-id одинаковым режимом, например `--stable`, для обоих сравниваемых коммитов.
  • Сравнивайте именно первый хеш в выводе `git patch-id`.
  • Не используйте совпадение patch-id как доказательство одинаковых метаданных коммита.

Важно

Patch-id предназначен для сравнения патчей, а не полного содержимого commit object или метаданных.

Что учитывать

Patch-id предназначен для сравнения патчей, а не полного содержимого commit object или метаданных.

Источники и проверка

Фактическая часть сверена по первичным источникам (в т.ч. git-patch-id Documentation). Пример и формулировки — редакция N1RO на 2026-09-18.