Skip to content

Commit 1852780

Browse files
author
dscho
committed
Update manual pages (2.52.0)
Updated via the `update-git-version-and-manual-pages.yml` GitHub workflow.
1 parent b83ef76 commit 1852780

File tree

447 files changed

+169467
-2564
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

447 files changed

+169467
-2564
lines changed
Lines changed: 325 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,325 @@
1+
git-am(1)
2+
=========
3+
4+
NAME
5+
----
6+
git-am - Apply a series of patches from a mailbox
7+
8+
9+
SYNOPSIS
10+
--------
11+
[verse]
12+
'git am' [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] [--no-verify]
13+
[--[no-]3way] [--interactive] [--committer-date-is-author-date]
14+
[--ignore-date] [--ignore-space-change | --ignore-whitespace]
15+
[--whitespace=<action>] [-C<n>] [-p<n>] [--directory=<dir>]
16+
[--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet]
17+
[--[no-]scissors] [-S[<keyid>]] [--patch-format=<format>]
18+
[--quoted-cr=<action>]
19+
[--empty=(stop|drop|keep)]
20+
[(<mbox> | <Maildir>)...]
21+
'git am' (--continue | --skip | --abort | --quit | --retry | --show-current-patch[=(diff|raw)] | --allow-empty)
22+
23+
DESCRIPTION
24+
-----------
25+
Splits mail messages in a mailbox into commit log messages,
26+
authorship information, and patches, and applies them to the
27+
current branch. You could think of it as a reverse operation
28+
of linkgit:git-format-patch[1] run on a branch with a straight
29+
history without merges.
30+
31+
OPTIONS
32+
-------
33+
(<mbox>|<Maildir>)...::
34+
The list of mailbox files to read patches from. If you do not
35+
supply this argument, the command reads from the standard input.
36+
If you supply directories, they will be treated as Maildirs.
37+
38+
-s::
39+
--signoff::
40+
Add a `Signed-off-by` trailer to the commit message, using
41+
the committer identity of yourself.
42+
See the signoff option in linkgit:git-commit[1] for more information.
43+
44+
-k::
45+
--keep::
46+
Pass `-k` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
47+
48+
--keep-non-patch::
49+
Pass `-b` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
50+
51+
--keep-cr::
52+
--no-keep-cr::
53+
With `--keep-cr`, call 'git mailsplit' (see linkgit:git-mailsplit[1])
54+
with the same option, to prevent it from stripping CR at the end of
55+
lines. `am.keepcr` configuration variable can be used to specify the
56+
default behaviour. `--no-keep-cr` is useful to override `am.keepcr`.
57+
58+
-c::
59+
--scissors::
60+
Remove everything in body before a scissors line (see
61+
linkgit:git-mailinfo[1]). Can be activated by default using
62+
the `mailinfo.scissors` configuration variable.
63+
64+
--no-scissors::
65+
Ignore scissors lines (see linkgit:git-mailinfo[1]).
66+
67+
--quoted-cr=<action>::
68+
This flag will be passed down to 'git mailinfo' (see linkgit:git-mailinfo[1]).
69+
70+
--empty=(drop|keep|stop)::
71+
How to handle an e-mail message lacking a patch:
72+
+
73+
--
74+
`drop`;;
75+
The e-mail message will be skipped.
76+
`keep`;;
77+
An empty commit will be created, with the contents of the e-mail
78+
message as its log.
79+
`stop`;;
80+
The command will fail, stopping in the middle of the current `am`
81+
session. This is the default behavior.
82+
--
83+
84+
-m::
85+
--message-id::
86+
Pass the `-m` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]),
87+
so that the Message-ID header is added to the commit message.
88+
The `am.messageid` configuration variable can be used to specify
89+
the default behaviour.
90+
91+
--no-message-id::
92+
Do not add the Message-ID header to the commit message.
93+
`no-message-id` is useful to override `am.messageid`.
94+
95+
-q::
96+
--quiet::
97+
Be quiet. Only print error messages.
98+
99+
-u::
100+
--utf8::
101+
Pass `-u` flag to 'git mailinfo' (see linkgit:git-mailinfo[1]).
102+
The proposed commit log message taken from the e-mail
103+
is re-coded into UTF-8 encoding (configuration variable
104+
`i18n.commitEncoding` can be used to specify the project's
105+
preferred encoding if it is not UTF-8).
106+
+
107+
This was optional in prior versions of git, but now it is the
108+
default. You can use `--no-utf8` to override this.
109+
110+
--no-utf8::
111+
Pass `-n` flag to 'git mailinfo' (see
112+
linkgit:git-mailinfo[1]).
113+
114+
-3::
115+
--3way::
116+
--no-3way::
117+
When the patch does not apply cleanly, fall back on
118+
3-way merge if the patch records the identity of blobs
119+
it is supposed to apply to and we have those blobs
120+
available locally. `--no-3way` can be used to override
121+
am.threeWay configuration variable. For more information,
122+
see am.threeWay in linkgit:git-config[1].
123+
124+
`--rerere-autoupdate`::
125+
`--no-rerere-autoupdate`::
126+
After the rerere mechanism reuses a recorded resolution on
127+
the current conflict to update the files in the working
128+
tree, allow it to also update the index with the result of
129+
resolution. `--no-rerere-autoupdate` is a good way to
130+
double-check what `rerere` did and catch potential
131+
mismerges, before committing the result to the index with a
132+
separate `git add`.
133+
134+
135+
--ignore-space-change::
136+
--ignore-whitespace::
137+
--whitespace=<action>::
138+
-C<n>::
139+
-p<n>::
140+
--directory=<dir>::
141+
--exclude=<path>::
142+
--include=<path>::
143+
--reject::
144+
These flags are passed to the 'git apply' (see linkgit:git-apply[1])
145+
program that applies
146+
the patch.
147+
+
148+
Valid <action> for the `--whitespace` option are:
149+
`nowarn`, `warn`, `fix`, `error`, and `error-all`.
150+
151+
--patch-format::
152+
By default the command will try to detect the patch format
153+
automatically. This option allows the user to bypass the automatic
154+
detection and specify the patch format that the patch(es) should be
155+
interpreted as. Valid formats are mbox, mboxrd,
156+
stgit, stgit-series, and hg.
157+
158+
-i::
159+
--interactive::
160+
Run interactively.
161+
162+
-n::
163+
--no-verify::
164+
By default, the pre-applypatch and applypatch-msg hooks are run.
165+
When any of `--no-verify` or `-n` is given, these are bypassed.
166+
See also linkgit:githooks[5].
167+
168+
--committer-date-is-author-date::
169+
By default the command records the date from the e-mail
170+
message as the commit author date, and uses the time of
171+
commit creation as the committer date. This allows the
172+
user to lie about the committer date by using the same
173+
value as the author date.
174+
175+
--ignore-date::
176+
By default the command records the date from the e-mail
177+
message as the commit author date, and uses the time of
178+
commit creation as the committer date. This allows the
179+
user to lie about the author date by using the same
180+
value as the committer date.
181+
182+
--skip::
183+
Skip the current patch. This is only meaningful when
184+
restarting an aborted patch.
185+
186+
-S[<keyid>]::
187+
--gpg-sign[=<keyid>]::
188+
--no-gpg-sign::
189+
GPG-sign commits. The `keyid` argument is optional and
190+
defaults to the committer identity; if specified, it must be
191+
stuck to the option without a space. `--no-gpg-sign` is useful to
192+
countermand both `commit.gpgSign` configuration variable, and
193+
earlier `--gpg-sign`.
194+
195+
--continue::
196+
-r::
197+
--resolved::
198+
After a patch failure (e.g. attempting to apply
199+
conflicting patch), the user has applied it by hand and
200+
the index file stores the result of the application.
201+
Make a commit using the authorship and commit log
202+
extracted from the e-mail message and the current index
203+
file, and continue.
204+
205+
--resolvemsg=<msg>::
206+
When a patch failure occurs, <msg> will be printed
207+
to the screen before exiting. This overrides the
208+
standard message informing you to use `--continue`
209+
or `--skip` to handle the failure. This is solely
210+
for internal use between 'git rebase' and 'git am'.
211+
212+
--abort::
213+
Restore the original branch and abort the patching operation.
214+
Revert the contents of files involved in the am operation to their
215+
pre-am state.
216+
217+
--quit::
218+
Abort the patching operation but keep HEAD and the index
219+
untouched.
220+
221+
--retry::
222+
Try to apply the last conflicting patch again. This is generally
223+
only useful for passing extra options to the retry attempt
224+
(e.g., `--3way`), since otherwise you'll just see the same
225+
failure again.
226+
227+
--show-current-patch[=(diff|raw)]::
228+
Show the message at which `git am` has stopped due to
229+
conflicts. If `raw` is specified, show the raw contents of
230+
the e-mail message; if `diff`, show the diff portion only.
231+
Defaults to `raw`.
232+
233+
--allow-empty::
234+
After a patch failure on an input e-mail message lacking a patch,
235+
create an empty commit with the contents of the e-mail message
236+
as its log message.
237+
238+
DISCUSSION
239+
----------
240+
241+
The commit author name is taken from the "From: " line of the
242+
message, and commit author date is taken from the "Date: " line
243+
of the message. The "Subject: " line is used as the title of
244+
the commit, after stripping common prefix "[PATCH <anything>]".
245+
The "Subject: " line is supposed to concisely describe what the
246+
commit is about in one line of text.
247+
248+
"From: ", "Date: ", and "Subject: " lines starting the body override the
249+
respective commit author name and title values taken from the headers.
250+
251+
The commit message is formed by the title taken from the
252+
"Subject: ", a blank line and the body of the message up to
253+
where the patch begins. Excess whitespace at the end of each
254+
line is automatically stripped.
255+
256+
The patch is expected to be inline, directly following the
257+
message. Any line that is of the form:
258+
259+
* three-dashes and end-of-line, or
260+
* a line that begins with "diff -", or
261+
* a line that begins with "Index: "
262+
263+
is taken as the beginning of a patch, and the commit log message
264+
is terminated before the first occurrence of such a line.
265+
266+
When initially invoking `git am`, you give it the names of the mailboxes
267+
to process. Upon seeing the first patch that does not apply, it
268+
aborts in the middle. You can recover from this in one of two ways:
269+
270+
. skip the current patch by re-running the command with the `--skip`
271+
option.
272+
273+
. hand resolve the conflict in the working directory, and update
274+
the index file to bring it into a state that the patch should
275+
have produced. Then run the command with the `--continue` option.
276+
277+
The command refuses to process new mailboxes until the current
278+
operation is finished, so if you decide to start over from scratch,
279+
run `git am --abort` before running the command with mailbox
280+
names.
281+
282+
Before any patches are applied, ORIG_HEAD is set to the tip of the
283+
current branch. This is useful if you have problems with multiple
284+
commits, like running 'git am' on the wrong branch or an error in the
285+
commits that is more easily fixed by changing the mailbox (e.g.
286+
errors in the "From:" lines).
287+
288+
HOOKS
289+
-----
290+
This command can run `applypatch-msg`, `pre-applypatch`,
291+
and `post-applypatch` hooks. See linkgit:githooks[5] for more
292+
information.
293+
294+
CONFIGURATION
295+
-------------
296+
297+
Everything below this line in this section is selectively included
298+
from the linkgit:git-config[1] documentation. The content is the same
299+
as what's found there:
300+
301+
302+
am.keepcr::
303+
If true, git-am will call git-mailsplit for patches in mbox format
304+
with parameter `--keep-cr`. In this case git-mailsplit will
305+
not remove `\r` from lines ending with `\r\n`. Can be overridden
306+
by giving `--no-keep-cr` from the command line.
307+
See linkgit:git-am[1], linkgit:git-mailsplit[1].
308+
309+
am.threeWay::
310+
By default, `git am` will fail if the patch does not apply cleanly. When
311+
set to true, this setting tells `git am` to fall back on 3-way merge if
312+
the patch records the identity of blobs it is supposed to apply to and
313+
we have those blobs available locally (equivalent to giving the `--3way`
314+
option from the command line). Defaults to `false`.
315+
See linkgit:git-am[1].
316+
317+
318+
SEE ALSO
319+
--------
320+
linkgit:git-apply[1],
321+
linkgit:git-format-patch[1].
322+
323+
GIT
324+
---
325+
Part of the linkgit:git[1] suite

0 commit comments

Comments
 (0)