Компьютеры · Инструкция
Как экспортировать коммиты в patch-файлы и применить их через git am
Патч-серия полезна, когда прямой push/cherry-pick недоступен, но нужно передать один или несколько линейных коммитов.
Короткий ответ
Создайте серию `git format-patch`, передайте `.patch`-файлы и примените их командой `git am`. Такой workflow сохраняет авторские данные и commit messages лучше, чем простой копипаст diff.
Что делать
- Определите диапазон, например последние три коммита: `git format-patch -3`.
- Проверьте созданные `.patch`-файлы и порядок нумерации.
- Передайте файлы получателю любым безопасным способом.
- На целевой ветке убедитесь в чистом рабочем дереве.
- Выполните `git am 0001-*.patch 0002-*.patch ..` или укажите каталог/набор файлов.
- При конфликте исправьте файлы, добавьте их в индекс и выполните `git am --continue`; для отмены — `git am --abort`.
Важно
- `format-patch` по умолчанию не воспроизводит merge-коммиты как обычную линейную серию.
- Перед применением серии проверьте целевую ветку и резервную точку возврата.
Что учитывать
`format-patch` по умолчанию не воспроизводит merge-коммиты как обычную линейную серию.,Перед применением серии проверьте целевую ветку и резервную точку возврата.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. git-format-patch Documentation). Пример и формулировки — редакция N1RO на 2026-09-18.