[go: up one dir, main page]

українська мова ▾ Topics ▾ Latest version ▾ git-am last updated in 2.50.0

НАЗВА

git-am - Нанесіть серію патчів з поштової скриньки

СИНОПСИС

git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--no-verify]
	 [--[no-]3way] [--interactive] [--committer-date-is-author-date]
	 [--ignore-date] [--ignore-space-change | --ignore-whitespace]
	 [--whitespace=<action>] [-C<n>] [-p<n>] [--directory=<dir>]
	 [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
	 [--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
	 [--quoted-cr=<action>]
	 [--empty=(stop|drop|keep)]
	 [(<mbox> | <Maildir>)…​]
git am (--continue | --skip | --abort | --quit | --retry | --show-current-patch[=(diff|raw)] | --allow-empty)

ОПИС

Розбиває поштові повідомлення у поштовій скриньці на повідомлення журналу комітів, інформацію про авторство та патчі, і застосовує їх до поточної гілки. Ви можете уявити це як зворотну операцію git-format-patch[1], що виконується на гілці з прямою історією без злиття.

ОПЦІЇ

(<mbox>|<Maildir>)…​

Список файлів поштових скриньок для читання патчів. Якщо ви не надасте цей аргумент, команда читатиме зі стандартного вводу. Якщо ви надасте каталоги, вони будуть розглядатися як Maildirs.

-s
--signoff

Додайте трейлер Signed-off-by до повідомлення коміту, використовуючи свій ідентифікатор комітера. Дивіться опцію підписання в git-commit[1] для отримання додаткової інформації.

-k
--keep

Pass -k flag to git mailinfo (див. git-mailinfo[1]).

--keep-non-patch

Pass -b flag to git mailinfo (див. git-mailinfo[1]).

--[no-]keep-cr

З параметром --keep-cr викличте git mailsplit (див. git-mailsplit[1]) з тим самим параметром, щоб запобігти видаленню CR в кінці рядків. Змінну конфігурації am.keepcr можна використовувати для визначення поведінки за замовчуванням. --no-keep-cr корисно для перевизначення am.keepcr.

-c
--scissors

Видалити все в тілі перед лінією ножиць (див. git-mailinfo[1]). Можна активувати за замовчуванням за допомогою змінної конфігурації mailinfo.scissors.

--no-scissors

Ігноруйте лінії ножиць (див. git-mailinfo[1]).

--quoted-cr=<action>

Цей прапорець буде передано до git mailinfo (див. git-mailinfo[1]).

--empty=(drop|keep|stop)

Як обробити електронний лист без патчу:

drop

Повідомлення електронної пошти буде пропущено.

keep

Буде створено порожній коміт, вміст якого електронного листа буде записаний у журналі.

stop

Команда завершиться невдачею, зупинка відбувається посеред поточного сеансу am. Це поведінка за замовчуванням.

-m
--message-id

Передайте прапорець -m до git mailinfo (див. git-mailinfo[1]), щоб заголовок Message-ID було додано до повідомлення коміту. Змінну конфігурації am.messageid можна використовувати для визначення поведінки за замовчуванням.

--no-message-id

Не додавайте заголовок Message-ID до повідомлення коміту. no-message-id корисний для перевизначення am.messageid.

-q
--quiet

Будьте тихі. Друкуйте лише повідомлення про помилки.

-u
--utf8

Передати прапорець -u до git mailinfo (див. git-mailinfo[1]). Запропоноване повідомлення журналу комітів, взяте з електронного листа, перекодується в кодування UTF-8 (змінна конфігурації i18n.commitEncoding може бути використана для визначення бажаного кодування проєкту, якщо воно не UTF-8).

У попередніх версіях git це було необов’язково, але тепер це значення за замовчуванням. Ви можете скористатися --no-utf8, щоб перевизначити це.

--no-utf8

Pass -n flag to git mailinfo (див. git-mailinfo[1]).

-3
--3way
--no-3way

Якщо патч не застосовується коректно, слід скористатися 3-стороннім злиттям, якщо патч записує ідентифікацію блобів, до яких він має застосовуватися, і ці блоби доступні локально. --no-3way можна використовувати для перевизначення змінної конфігурації am.threeWay. Для отримання додаткової інформації див. am.threeWay у git-config[1].

--rerere-autoupdate
--no-rerere-autoupdate

Після того, як механізм rerere повторно використає записане вирішення поточного конфлікту для оновлення файлів у робочому дереві, дозвольте йому також оновити індекс результатом вирішення. --no-rerere-autoupdate — це гарний спосіб перевірити, що зробив rerere, та виявити потенційні помилки злиття, перш ніж занести результат до індексу за допомогою окремого git add.

--ignore-space-change
--ignore-whitespace
--whitespace=<action>
-C<n>
-p<n>
--directory=<dir>
--exclude=<path>
--include=<path>
--reject

Ці прапорці передаються програмі «git apply» (див. git-apply[1]), яка застосовує патч.

Дійсні <дії> для опції --whitespace: nowarn, warn, fix, error та error-all.

--patch-format

За замовчуванням команда намагатиметься автоматично визначити формат патча. Цей параметр дозволяє користувачеві обійти автоматичне визначення та вказати формат патча, у якому його слід інтерпретувати. Дійсні формати: mbox, mboxrd, stgit, stgit-series та hg.

-i
--interactive

Виконуйте інтерактивно.

-n
--no-verify

За замовчуванням виконуються перехоплювачі pre-applypatch та applypatch-msg. Коли вказано будь-який з параметрів --no-verify або -n, вони обходяться. Див. також githooks[5].

--committer-date-is-author-date

За замовчуванням команда записує дату з електронного повідомлення як дату автора коміту, а час створення коміту використовує як дату комітера. Це дозволяє користувачеві приховувати дату комітера, використовуючи те саме значення, що й дату автора.

--ignore-date

За замовчуванням команда записує дату з електронного повідомлення як дату автора коміту, а час створення коміту використовує як дату комітера. Це дозволяє користувачеві приховувати дату автора, використовуючи те саме значення, що й дату комітера.

--skip

Пропустити поточний патч. Це має сенс лише під час перезапуску перерваного патча.

-S[<keyid>]
--gpg-sign[=<keyid>]
--no-gpg-sign

Коміти GPG-sign. Аргумент keyid є необов’язковим і за замовчуванням використовує ідентифікатор комітера; якщо його вказано, він має бути прив’язаний до опції без пробілу. --no-gpg-sign корисний для скасування як змінної конфігурації commit.gpgSign, так і попередньої змінної --gpg-sign.

--continue
-r
--resolved

Після невдалого встановлення патчу (наприклад, спроби застосування конфліктуючого патчу) користувач застосував його вручну, а результат застосування зберігається у файлі індексу. Зробіть коміт, використовуючи журнал авторства та комітів, витягнутий з повідомлення електронної пошти та поточного файлу індексу, та продовжте.

--resolvemsg=<msg>

Коли трапляється збій патчу, перед виходом на екран буде виведено <msg>. Це замінює стандартне повідомлення, яке повідомляє про використання --continue або --skip для обробки збою. Це повідомлення призначене виключно для внутрішнього використання між git rebase та git am.

--abort

Відновити початкову гілку та перервати операцію виправлення. Повернути вміст файлів, що беруть участь в операції am, до стану до am.

--quit

Перервати операцію виправлення, але залишити HEAD та індекс недоторканими.

--retry

Спробуйте ще раз застосувати останній конфліктний патч. Зазвичай це корисно лише для передачі додаткових опцій під час повторної спроби (наприклад, --3way), оскільки в іншому випадку ви знову побачите ту саму помилку.

--show-current-patch[=(diff|raw)]

Показати повідомлення, на якому git am зупинився через конфлікти. Якщо вказано raw, показати необроблений вміст електронного листа; якщо вказано diff, показати лише частину diff. За замовчуванням raw.

--allow-empty

Після невдалого оновлення вхідного електронного листа, для якого не було встановлено патч, створіть порожній коміт із вмістом електронного листа як повідомленням журналу.

ОБГОВОРЕННЯ

Ім’я автора коміту береться з рядка "Від:" повідомлення, а дата автора коміту береться з рядка "Дата:" повідомлення. Рядок "Тема:" використовується як заголовок коміту після видалення префікса common "[PATCH <щось>]". Рядок "Тема:" має стисло описати суть коміту в одному рядку тексту.

Рядки "Від: ", "Дата: " та "Тема: ", що починаються на початку тіла повідомлення, замінюють відповідні значення імені автора коміту та заголовка, взяті із заголовків.

Повідомлення коміту формується заголовком, взятим з "Теми: ", порожнім рядком та тілом повідомлення до початку патчу. Зайві пробіли в кінці кожного рядка автоматично видаляються.

Очікується, що патч буде вбудованим, безпосередньо після повідомлення. Будь-який рядок, який має такий вигляд:

  • три тире та кінець рядка, або

  • рядок, що починається з "diff -", або

  • рядок, що починається з "Індекс:"

вважається початком патча, а повідомлення журналу комітів завершується до першої появи такого рядка.

Під час першого виклику git am ви надаєте йому назви поштових скриньок для обробки. Побачивши перший патч, який не застосовується, він перериває роботу посередині. Ви можете відновитися після цього одним із двох способів:

  1. пропустити поточний патч, повторно виконавши команду з опцією --skip.

  2. вручну вирішіть конфлікт у робочому каталозі та оновіть індексний файл, щоб привести його до стану, який мав би створити патч. Потім виконайте команду з опцією --continue.

Команда відмовляється обробляти нові поштові скриньки, доки поточна операція не буде завершена, тому, якщо ви вирішите почати з нуля, виконайте git am --abort перед запуском команди з іменами поштових скриньок.

Перед застосуванням будь-яких патчів, ORIG_HEAD встановлюється на кінчик поточної гілки. Це корисно, якщо у вас виникають проблеми з кількома коммітами, наприклад, запуск git am на неправильній гілці або помилка в комітах, яку легше виправити, змінивши поштову скриньку (наприклад, помилки в рядках "From:").

ГАЧКИ

Ця команда може виконувати хуки applypatch-msg, pre-applypatch та post-applypatch. Див. githooks[5] для отримання додаткової інформації.

КОНФІГУРАЦІЯ

Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:

Warning

Missing uk/config/am.adoc

See original version for this content.

ДИВ. ТАКОЖ

GIT

Частина набору git[1]