.\"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
\fIgit\-format\-patch\fR [\-n | \-k] [\-o
| \-\-stdout] [\-\-attach]
[\-s | \-\-signoff] [\-\-diff\-options] [\-\-start\-number ]
[\&.\&.]
.fi
.SH "DESCRIPTION"
Prepare each commit between and with its patch in one file per commit, formatted to resemble UNIX mailbox format\&. If \&.\&. is not specified, the head of the current working tree is implied\&.
The output of this command is convenient for e\-mail submission or for use with \fBgit\-am\fR(1)\&.
Each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename\&. The names of the output files are printed to standard output, unless the \-\-stdout option is specified\&.
If \-o is specified, output files are created in \&. Otherwise they are created in the current working directory\&.
If \-n is specified, instead of "[PATCH] Subject", the first line is formatted as "[PATCH n/m] Subject"\&.
.SH "OPTIONS"
.TP
\-o|\-\-output\-directory
Use to store the resulting files, instead of the current working directory\&.
.TP
\-n|\-\-numbered
Name output in \fI[PATCH n/m]\fR format\&.
.TP
\-\-start\-number
Start numbering the patches at instead of 1\&.
.TP
\-k|\-\-keep\-subject
Do not strip/add \fI[PATCH]\fR from the first line of the commit log message\&.
.TP
\-s|\-\-signoff
Add Signed\-off\-by: line to the commit message, using the committer identity of yourself\&.
.TP
\-\-stdout
Print all commits to the standard output in mbox format, instead of creating a file for each one\&.
.TP
\-\-attach
Create attachments instead of inlining patches\&.
.SH "CONFIGURATION"
You can specify extra mail header lines to be added to each message in the repository configuration as follows:
.nf
headers = "Organization: git\-foo\\n"
.fi
.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 all commits which are in the current branch but not in the origin branch\&. For each commit a separate file is created in the current directory\&.
.TP
git\-format\-patch \-M \-B origin
The same as the previous one\&. Additionally, it detects and handles renames and complete rewrites intelligently to produce a 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 patches, 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