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