n1ro°
RU

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

Как экспортировать коммиты в patch-файлы и применить их через git am

Патч-серия полезна, когда прямой push/cherry-pick недоступен, но нужно передать один или несколько линейных коммитов.

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

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

Создайте серию `git format-patch`, передайте `.patch`-файлы и примените их командой `git am`. Такой workflow сохраняет авторские данные и commit messages лучше, чем простой копипаст diff.

Что делать

  1. Определите диапазон, например последние три коммита: `git format-patch -3`.
  2. Проверьте созданные `.patch`-файлы и порядок нумерации.
  3. Передайте файлы получателю любым безопасным способом.
  4. На целевой ветке убедитесь в чистом рабочем дереве.
  5. Выполните `git am 0001-*.patch 0002-*.patch ..` или укажите каталог/набор файлов.
  6. При конфликте исправьте файлы, добавьте их в индекс и выполните `git am --continue`; для отмены — `git am --abort`.

Важно

  • `format-patch` по умолчанию не воспроизводит merge-коммиты как обычную линейную серию.
  • Перед применением серии проверьте целевую ветку и резервную точку возврата.

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

`format-patch` по умолчанию не воспроизводит merge-коммиты как обычную линейную серию.,Перед применением серии проверьте целевую ветку и резервную точку возврата.

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

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