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.54.0
2026-04-20
-
2.53.0
2026-02-02
-
2.52.0
2025-11-17
- 2.50.1 → 2.51.2 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
-
Передає прапорець
-kдо git mailinfo (див. git-mailinfo[1]). - --keep-non-patch
-
Передає прапорець
-bдо git mailinfo (див. git-mailinfo[1]). - --keep-cr
- --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
-
Передає прапорець
-nдо git mailinfo (див. git-mailinfo[1]). - -3
- --3way
- --no-3way
-
Якщо латка не застосовується без помилок, скористайтись тристороннім злиттям, якщо у латці вказано ідентифікатори бловів, до яких вона має бути застосована, і ці блоби доступні локально. Для заміни змінної конфігурації
am.threeWayможна використати опцію--no-3way. Докладнішу інформацію див. у розділі am.threeWay у документації git-config[1]. -
--rerere-autoupdate -
--no-rerere-autoupdate -
Після того як механізм rerere повторно використає збережене рішення поточного конфлікту для оновлення файлів у робочому дереві, дозвольте йому також оновити індекс результатом вирішення. Параметр
--no-rerere-autoupdate— це хороший спосіб ще раз перевірити, що зробив git-rerere[1], і виявити можливі помилки злиття, перш ніж зафіксувати результат в індексі за допомогою окремої команди git-add[1].
- --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
-
За звичай команда записує дату з листа електронної пошти як дату автора коміту, а час створення коміту використовує як дату комітера. Це дозволяє користувачеві приховувати дату комітера, використовуючи те саме значення, що й дату автора.
WarningМеханізм відстеження історії передбачає, що відбитки часу комітів не зменшуються. Вам слід подумати, чи дійсно вам потрібно використовувати цю опцію. Використовувати цю опцію слід лише для того, щоб замінити дату коммітера при застосуванні комітів поверх базової версії, коміт якої є старішим (за датою коміту) за найстарішу латку, яку ви застосовуєте. - --ignore-date
-
Зазвичай команда записує дату з листа електронної пошти як дату автора коміту, а час створення коміту використовує як дату комітера. Це дозволяє користувачеві приховувати дату автора, використовуючи те саме значення, що й дату комітера.
- --skip
-
Пропустити поточну латку. Це має сенс лише під час перезапуску перерваної операції накладання латки.
- -S[<keyid>]
- --gpg-sign[=<keyid>]
- --no-gpg-sign
-
Підписувати коміти за допомогою GPG. Аргумент
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)]
-
Показати повідомлення, на якому
gitamзупинився через конфлікти. Якщо вказаноraw, показати необроблений вміст електронного листа; якщо вказаноdiff, показати лише частину diff. Зазвичай —raw. - --allow-empty
-
У разі збою під час застосування латки до вхідного електронного листа, в якому відсутня латка, створити порожній коміт із вмістом цього листа як повідомленням журналу.
ОБГОВОРЕННЯ
Імʼя автора коміту береться з рядка «From:» повідомлення, а дата створення коміту — з рядка «Date:» повідомлення. Рядок «Subject:» використовується як назва коміту після видалення загального префікса «[PATCH <будь-що>]». Рядок «Subject:» повинен лаконічно описувати суть коміту в одному рядку тексту.
Рядки «From:», «Date:» та «Subject:», що починають основний текст, замінюють відповідні значення імені автора коміту та заголовка, взяті з заголовків.
Повідомлення коміту формується заголовком, взятим з "Subject: ", порожнім рядком та тілом повідомлення до початку латки. Зайві пробіли в кінці кожного рядка автоматично видаляються.
Очікується, що латку буде розміщено в тексті, безпосередньо після повідомлення. Будь-який рядок у такому форматі:
-
три дефіси та кінець рядка, або
-
рядок, що починається з "diff -", або
-
рядок, що починається з "Index:"
вважається початком латки, а повідомлення журналу комітів завершується до першої появи такого рядка.
Під час першого виклику 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]