]> git.ipfire.org Git - thirdparty/git.git/blob - Documentation/git-format-patch.txt
Merge git://git.kernel.org/pub/scm/gitk/gitk
[thirdparty/git.git] / Documentation / git-format-patch.txt
1 git-format-patch(1)
2 ===================
3
4 NAME
5 ----
6 git-format-patch - Prepare patches for e-mail submission.
7
8
9 SYNOPSIS
10 --------
11 [verse]
12 'git-format-patch' [-n | -k] [-o <dir> | --stdout] [-s] [-c]
13 [--diff-options] <his> [<mine>]
14
15 DESCRIPTION
16 -----------
17 Prepare each commit with its patch since <mine> head forked from
18 <his> head, one file per patch formatted to resemble UNIX mailbox
19 format, for e-mail submission or use with gitlink:git-am[1].
20
21 Each output file is numbered sequentially from 1, and uses the
22 first line of the commit message (massaged for pathname safety)
23 as the filename.
24
25 When -o is specified, output files are created in <dir>; otherwise
26 they are created in the current working directory. This option
27 is ignored if --stdout is specified.
28
29 When -n is specified, instead of "[PATCH] Subject", the first
30 line is formatted as "[PATCH N/M] Subject", unless you have only
31 one patch.
32
33
34 OPTIONS
35 -------
36 -o|--output-directory <dir>::
37 Use <dir> to store the resulting files, instead of the
38 current working directory.
39
40 -n|--numbered::
41 Name output in '[PATCH n/m]' format.
42
43 -k|--keep-subject::
44 Do not strip/add '[PATCH]' from the first line of the
45 commit log message.
46
47 -s|--signoff::
48 Add `Signed-off-by:` line to the commit message, using
49 the committer identity of yourself.
50
51 -c|--check::
52 Display suspicious lines in the patch. The definition
53 of 'suspicious lines' is currently the lines that has
54 trailing whitespaces, and the lines whose indentation
55 has a SP character immediately followed by a TAB
56 character.
57
58 --stdout::
59 This flag generates the mbox formatted output to the
60 standard output, instead of saving them into a file per
61 patch and implies --mbox.
62
63
64 EXAMPLES
65 --------
66
67 git-format-patch -k --stdout R1..R2 | git-am -3 -k::
68 Extract commits between revisions R1 and R2, and apply
69 them on top of the current branch using `git-am` to
70 cherry-pick them.
71
72 git-format-patch origin::
73 Extract commits the current branch accumulated since it
74 pulled from origin the last time in a patch form for
75 e-mail submission.
76
77 git-format-patch -M -B origin::
78 The same as the previous one, except detect and handle
79 renames and complete rewrites intelligently to produce
80 renaming patch. A renaming patch reduces the amount of
81 text output, and generally makes it easier to review
82 it. Note that the "patch" program does not understand
83 renaming patch well, so use it only when you know the
84 recipient uses git to apply your patch.
85
86
87 See Also
88 --------
89 gitlink:git-am[1], gitlink:git-send-email[1]
90
91
92 Author
93 ------
94 Written by Junio C Hamano <junkio@cox.net>
95
96 Documentation
97 --------------
98 Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.
99
100 GIT
101 ---
102 Part of the gitlink:git[7] suite
103