.\"Generated by db2man.xsl. Don't modify this, modify the source.
.de Sh \" Subsection
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.de Sp \" Vertical space (when we can't use .PP)
.if t .sp .5v
.if n .sp
..
.de Ip \" List item
.br
.ie \\n(.$>=3 .ne \\$3
.el .ne 3
.IP "\\$1" \\$2
..
.TH "GIT-FORMAT-PATCH" 1 "" "" ""
.SH NAME
git-format-patch \- Prepare patches for e-mail submission.
.SH "SYNOPSIS"
.nf
git\-format\-patch [\-n | \-k] [\-o
| \-\-stdout] [\-s] [\-c] [\-\-mbox]
[\-\-diff\-options] []
.fi
.SH "DESCRIPTION"
Prepare each commit with its patch since head forked from head, one file per patch, for e\-mail submission\&. Each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename\&.
When \-o is specified, output files are created in that directory; otherwise in the current working directory\&.
When \-n is specified, instead of "[PATCH] Subject", the first line is formatted as "[PATCH N/M] Subject", unless you have only one patch\&.
When \-\-mbox is specified, the output is formatted to resemble UNIX mailbox format, and can be concatenated together for processing with applymbox\&.
.SH "OPTIONS"
.TP
\-o|\-\-output\-directory
Use to store the resulting files, instead of the current working directory\&.
.TP
\-n|\-\-numbered
Name output in [PATCH n/m] format\&.
.TP
\-k|\-\-keep\-subject
Do not strip/add [PATCH] from the first line of the commit log message\&.
.TP
\-a|\-\-author, \-d|\-\-date
Output From: and Date: headers for commits made by yourself as well\&. Usually these are output only for commits made by people other than yourself\&.
.TP
\-s|\-\-signoff
Add Signed\-off\-by: line to the commit message, using the committer identity of yourself\&.
.TP
\-c|\-\-check
Display suspicious lines in the patch\&. The definition of suspicious lines is currently the lines that has trailing whitespaces, and the lines whose indentation has a SP character immediately followed by a TAB character\&.
.TP
\-m|\-\-mbox
Format the output files for closer to mbox format by adding a phony Unix "From " line, so they can be concatenated together and fed to git\-applymbox\&. Implies \-\-author and \-\-date\&.
.TP
\-\-stdout
This flag generates the mbox formatted output to the standard output, instead of saving them into a file per patch and implies \-\-mbox\&.
.SH "EXAMPLES"
.TP
git\-format\-patch \-k \-\-stdout R1\&.\&.R2 | git\-am \-3 \-k
Extract commits between revisions R1 and R2, and apply them on top of the current branch using git\-am to cherry\-pick them\&.
.TP
git\-format\-patch origin
Extract commits the current branch accumulated since it pulled from origin the last time in a patch form for e\-mail submission\&.
.TP
git\-format\-patch \-M \-B origin
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\&.
.SH "SEE ALSO"
\fBgit\-am\fR(1), \fBgit\-send\-email\fR(1)
.SH "AUTHOR"
Written by Junio C Hamano
.SH "DOCUMENTATION"
Documentation by Junio C Hamano and the git\-list \&.
.SH "GIT"
Part of the \fBgit\fR(7) suite