Setup and Config
Getting and Creating Projects
Basic Snapshotting
Branching and Merging
Sharing and Updating Projects
Inspection and Comparison
Patching
Debugging
External Systems
Server Admin
Guides
- gitattributes
- Command-line interface conventions
- Everyday Git
- Frequently Asked Questions (FAQ)
- Glossary
- Hooks
- gitignore
- gitmodules
- Revisions
- Submodules
- Tutorial
- Workflows
- All guides...
Administration
Plumbing Commands
- 2.50.1 → 2.51.0 no changes
-
2.50.0
2025-06-16
- 2.46.1 → 2.49.1 no changes
-
2.46.0
2024-07-29
- 2.45.1 → 2.45.4 no changes
-
2.45.0
2024-04-29
- 2.43.1 → 2.44.4 no changes
-
2.43.0
2023-11-20
- 2.42.2 → 2.42.4 no changes
-
2.42.1
2023-11-02
- 2.41.1 → 2.42.0 no changes
-
2.41.0
2023-06-01
- 2.40.1 → 2.40.4 no changes
-
2.40.0
2023-03-12
- 2.38.1 → 2.39.5 no changes
-
2.38.0
2022-10-02
- 2.35.1 → 2.37.7 no changes
-
2.35.0
2022-01-24
- 2.33.2 → 2.34.8 no changes
-
2.33.1
2021-10-12
- 2.32.1 → 2.33.0 no changes
-
2.32.0
2021-06-06
- 2.31.1 → 2.31.8 no changes
-
2.31.0
2021-03-15
- 2.30.1 → 2.30.9 no changes
-
2.30.0
2020-12-27
- 2.27.1 → 2.29.3 no changes
-
2.27.0
2020-06-01
- 2.26.1 → 2.26.3 no changes
-
2.26.0
2020-03-22
- 2.25.1 → 2.25.5 no changes
-
2.25.0
2020-01-13
- 2.22.1 → 2.24.4 no changes
-
2.22.0
2019-06-07
- 2.17.1 → 2.21.4 no changes
-
2.17.0
2018-04-02
- 2.11.4 → 2.16.6 no changes
-
2.10.5
2017-09-22
-
2.9.5
2017-07-30
- 2.8.6 no changes
-
2.7.6
2017-07-30
-
2.6.7
2017-05-05
- 2.4.12 → 2.5.6 no changes
-
2.3.10
2015-09-28
- 2.2.3 no changes
- 2.1.4 no changes
-
2.0.5
2014-12-17
СИНОПСИС
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)
-
Як обробити електронний лист без патчу:
- -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
ви надаєте йому назви поштових скриньок для обробки. Побачивши перший патч, який не застосовується, він перериває роботу посередині. Ви можете відновитися після цього одним із двох способів:
-
пропустити поточний патч, повторно виконавши команду з опцією
--skip
. -
вручну вирішіть конфлікт у робочому каталозі та оновіть індексний файл, щоб привести його до стану, який мав би створити патч. Потім виконайте команду з опцією
--continue
.
Команда відмовляється обробляти нові поштові скриньки, доки поточна операція не буде завершена, тому, якщо ви вирішите почати з нуля, виконайте git
am
--abort
перед запуском команди з іменами поштових скриньок.
Перед застосуванням будь-яких патчів, ORIG_HEAD встановлюється на кінчик поточної гілки. Це корисно, якщо у вас виникають проблеми з кількома коммітами, наприклад, запуск git am на неправильній гілці або помилка в комітах, яку легше виправити, змінивши поштову скриньку (наприклад, помилки в рядках "From:").
ГАЧКИ
Ця команда може виконувати хуки applypatch-msg
, pre-applypatch
та post-applypatch
. Див. githooks[5] для отримання додаткової інформації.
КОНФІГУРАЦІЯ
Все, що знаходиться нижче цього рядка в цьому розділі, вибірково включено з документації git-config[1]. Вміст такий самий, як і там:
Warning
|
Missing See original version for this content. |
GIT
Частина набору git[1]