<sha1> SP <type> SP <size> LF 155 | <contents> LF 156 |157 |
git-am(1) Manual Page
5 |NAME
6 |git-am - Apply a series of patches from a mailbox 8 |
9 |SYNOPSIS
14 |git am [--signoff] [--keep] [--[no-]keep-cr] [--[no-]utf8] 16 | [--3way] [--interactive] [--committer-date-is-author-date] 17 | [--ignore-date] [--ignore-space-change | --ignore-whitespace] 18 | [--whitespace=<option>] [-C<n>] [-p<n>] [--directory=<dir>] 19 | [--exclude=<path>] [--include=<path>] [--reject] [-q | --quiet] 20 | [--[no-]scissors] 21 | [(<mbox> | <Maildir>)...] 22 | git am (--continue | --skip | --abort)23 |
DESCRIPTION
27 |Splits mail messages in a mailbox into commit log message, 29 | authorship information and patches, and applies them to the 30 | current branch. 31 |
32 |OPTIONS
36 |-
38 |
- (<mbox>|<Maildir>)... 39 |
The list of mailbox files to read patches from. If you do not 40 | supply this argument, the command reads from the standard input. 41 | If you supply directories, they will be treated as Maildirs.
42 | - -s 43 |
- --signoff 44 |
Add a Signed-off-by: line to the commit message, using 45 | the committer identity of yourself.
46 | - -k 47 |
- --keep 48 |
Pass -k flag to git mailinfo (see git-mailinfo(1)).
49 | - --keep-non-patch 50 |
Pass -b flag to git mailinfo (see git-mailinfo(1)).
51 | - --[no-]keep-cr 52 |
With --keep-cr, call git mailsplit (see git-mailsplit(1)) 53 | with the same option, to prevent it from stripping CR at the end of 54 | lines. am.keepcr configuration variable can be used to specify the 55 | default behaviour. --no-keep-cr is useful to override am.keepcr.
56 | - -c 57 |
- --scissors 58 |
Remove everything in body before a scissors line (see 59 | git-mailinfo(1)).
60 | - --no-scissors 61 |
Ignore scissors lines (see git-mailinfo(1)).
62 | - -q 63 |
- --quiet 64 |
Be quiet. Only print error messages.
65 | - -u 66 |
- --utf8 67 |
Pass -u flag to git mailinfo (see git-mailinfo(1)). 68 | The proposed commit log message taken from the e-mail 69 | is re-coded into UTF-8 encoding (configuration variable 70 | i18n.commitencoding can be used to specify project's 71 | preferred encoding if it is not UTF-8).
72 | 73 |74 |75 |79 |This was optional in prior versions of git, but now it is the 76 | default. You can use --no-utf8 to override this. 77 |
78 |
80 | - --no-utf8 81 |
Pass -n flag to git mailinfo (see 82 | git-mailinfo(1)).
83 | - -3 84 |
- --3way 85 |
When the patch does not apply cleanly, fall back on 86 | 3-way merge if the patch records the identity of blobs 87 | it is supposed to apply to and we have those blobs 88 | available locally.
89 | - --ignore-date 90 |
- --ignore-space-change 91 |
- --ignore-whitespace 92 |
- --whitespace=<option> 93 |
- -C<n> 94 |
- -p<n> 95 |
- --directory=<dir> 96 |
- --exclude=<path> 97 |
- --include=<path> 98 |
- --reject 99 |
These flags are passed to the git apply (see git-apply(1)) 100 | program that applies 101 | the patch.
102 | - -i 103 |
- --interactive 104 |
Run interactively.
105 | - --committer-date-is-author-date 106 |
By default the command records the date from the e-mail 107 | message as the commit author date, and uses the time of 108 | commit creation as the committer date. This allows the 109 | user to lie about the committer date by using the same 110 | value as the author date.
111 | - --ignore-date 112 |
By default the command records the date from the e-mail 113 | message as the commit author date, and uses the time of 114 | commit creation as the committer date. This allows the 115 | user to lie about the author date by using the same 116 | value as the committer date.
117 | - --skip 118 |
Skip the current patch. This is only meaningful when 119 | restarting an aborted patch.
120 | - --continue 121 |
- -r 122 |
- --resolved 123 |
After a patch failure (e.g. attempting to apply 124 | conflicting patch), the user has applied it by hand and 125 | the index file stores the result of the application. 126 | Make a commit using the authorship and commit log 127 | extracted from the e-mail message and the current index 128 | file, and continue.
129 | - --resolvemsg=<msg> 130 |
When a patch failure occurs, <msg> will be printed 131 | to the screen before exiting. This overrides the 132 | standard message informing you to use --continue 133 | or --skip to handle the failure. This is solely 134 | for internal use between git rebase and git am.
135 | - --abort 136 |
Restore the original branch and abort the patching operation.
137 |
DISCUSSION
142 |The commit author name is taken from the "From: " line of the 144 | message, and commit author date is taken from the "Date: " line 145 | of the message. The "Subject: " line is used as the title of 146 | the commit, after stripping common prefix "[PATCH <anything>]". 147 | The "Subject: " line is supposed to concisely describe what the 148 | commit is about in one line of text. 149 |
150 |"From: " and "Subject: " lines starting the body override the respective 153 | commit author name and title values taken from the headers. 154 |
155 |The commit message is formed by the title taken from the 158 | "Subject: ", a blank line and the body of the message up to 159 | where the patch begins. Excess whitespace at the end of each 160 | line is automatically stripped. 161 |
162 |The patch is expected to be inline, directly following the 165 | message. Any line that is of the form: 166 |
167 |-
170 |
three-dashes and end-of-line, or
171 | a line that begins with "diff -", or
172 | a line that begins with "Index: "
173 |
is taken as the beginning of a patch, and the commit log message 177 | is terminated before the first occurrence of such a line. 178 |
179 |When initially invoking git am, you give it the names of the mailboxes 182 | to process. Upon seeing the first patch that does not apply, it 183 | aborts in the middle. You can recover from this in one of two ways: 184 |
185 |-
188 |
skip the current patch by re-running the command with the --skip 189 | option.
190 | hand resolve the conflict in the working directory, and update 191 | the index file to bring it into a state that the patch should 192 | have produced. Then run the command with the --continue option.
193 |
The command refuses to process new mailboxes until the current 197 | operation is finished, so if you decide to start over from scratch, 198 | run git am --abort before running the command with mailbox 199 | names. 200 |
201 |Before any patches are applied, ORIG_HEAD is set to the tip of the 204 | current branch. This is useful if you have problems with multiple 205 | commits, like running git am on the wrong branch or an error in the 206 | commits that is more easily fixed by changing the mailbox (e.g. 207 | errors in the "From:" lines). 208 |
209 |SEE ALSO
213 |git-apply(1). 215 |
216 |GIT
220 |Part of the git(1) suite 222 |
223 |