Поиск…


Синтаксис

  • git am [--signoff] [--keep] [- [no-] keep-cr] [- [no-] utf8] [--3way] [--interactive] [--committer-date-is -автор-дата] [--ignore-date] [--ignore-space-change | --ignore-whitespace] [--whitespace = <option>] [-C <n>] [-p <n>] [--directory = <dir>] [--exclude = <путь>] [- include = <путь>] [--reject] [-q | --quiet] [- [no-] scissors] [-S [<keyid>]] [--patch-format = <format>] [(<mbox> | <Maildir>) ...]
  • git am (--continue | --skip | --abort)

параметры

параметр подробности
(<Mbox> | <Maildir>) ... Список файлов почтовых ящиков для чтения исправлений. Если вы не укажете этот аргумент, команда будет считываться со стандартного ввода. Если вы предоставите каталоги, они будут рассматриваться как Maildirs.
-s, --signoff Добавьте строку «Отключено:» в сообщение фиксации, используя идентификатор коммиттера.
-q, --quiet Будь спокоен. Только печатать сообщения об ошибках.
-u, --utf8 Pass -u флаг git mailinfo . Предложенное сообщение журнала фиксации, взятое из электронной почты, перекодировано в кодировку UTF-8 (для переменной предпочтительного кодирования проекта можно использовать конфигурационную переменную i18n.commitencoding если это не UTF-8). Вы можете использовать --no-utf8 чтобы переопределить это.
--no-utf8 Pass -n флаг для git mailinfo.
-3, --3way Когда патч не применяется чисто, откиньтесь на трехстороннее слияние, если патч записывает личность blob, к которому он должен применяться, и мы имеем эти blob-файлы, доступные локально.
--ignore-date, --ignore-space-change, --ignore-whitespace, --whitespace = <option>, -C <n>, -p <n>, --directory = <dir>, - exclude = <путь>, --include = <путь>, --reject Эти флаги передаются в прикладную программу git, которая применяет патч.
--patch-формат По умолчанию команда попытается автоматически определить формат патча. Эта опция позволяет пользователю обойти автоматическое обнаружение и указать формат патча, который должен интерпретировать патч (ы). Допустимыми форматами являются mbox , stgit , stgit-series и hg .
-i, --interactive Запуск в интерактивном режиме.
--committer-дата-это-автор-дата По умолчанию команда записывает дату из сообщения электронной почты в качестве даты фиксации фиксации и использует время создания фиксации как дату коммиттера. Это позволяет пользователю лгать о дате коммиттера, используя то же значение, что и дата автора.
--ignore-дата По умолчанию команда записывает дату из сообщения электронной почты в качестве даты фиксации фиксации и использует время создания фиксации как дату коммиттера. Это позволяет пользователю лгать о дате автора, используя то же значение, что и дата коммиттера.
--пропускать Пропустить текущий патч. Это имеет смысл только при перезапуске прерванного патча.
-S [<keyid>], -gpg-sign [= <keyid>] Знак GPG фиксируется.
- продолжить, -r, - разрешено После отказа патча (например, попытки применить конфликтующий патч) пользователь применил его вручную, а индексный файл сохранил результат приложения. Сделайте фиксацию, используя авторство и зафиксируйте журнал, извлеченный из сообщения электронной почты и текущего файла индекса, и продолжите.
--resolvemsg = <сбщ> Когда произойдет сбой патча, перед выходом на экран будет <msg> . Это отменяет стандартное сообщение, информирующее вас об использовании - --continue или --skip для --skip сбоя. Это исключительно для внутреннего использования между git rebase и git am .
--abort Восстановите исходную ветвь и прервите операцию исправления.

Создание патча

Чтобы создать патч, есть два шага.

  1. Внесите свои изменения и зафиксируйте их.
  2. Запустите git format-patch <commit-reference> чтобы преобразовать все коммиты с момента фиксации <commit-reference> (не включая) в файлы исправлений.

Например, если исправления должны быть сгенерированы из последних двух коммитов:

git format-patch HEAD~~ 

Это создаст 2 файла, по одному для каждой фиксации с HEAD~~ , например:

0001-hello_world.patch
0002-beginning.patch

Применение патчей

Мы можем использовать git apply some.patch чтобы иметь изменения из файла .patch примененного к вашему текущему рабочему каталогу. Они будут неустановленными и должны быть совершены.

Чтобы применить патч как фиксацию (с сообщением фиксации), используйте

git am some.patch

Чтобы применить все файлы патча к дереву:

git am *.patch


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow