git-format-patch(1)
===================

NAME
----
git-format-patch - Prepare patches for e-mail submission


SYNOPSIS
--------
[verse]
'git-format-patch' [-n | -k] [-o <dir> | --stdout] [--attach]
	           [-s | --signoff] [--diff-options] [--start-number <n>]
		   <since>[..<until>]

DESCRIPTION
-----------

Prepare each commit between <since> and <until> with its patch in
one file per commit, formatted to resemble UNIX mailbox format.
If ..<until> 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 gitlink:git-am[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 <dir>.  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".


OPTIONS
-------
-o|--output-directory <dir>::
	Use <dir> to store the resulting files, instead of the
	current working directory.

-n|--numbered::
	Name output in '[PATCH n/m]' format.

--start-number <n>::
	Start numbering the patches at <n> instead of 1.

-k|--keep-subject::
	Do not strip/add '[PATCH]' from the first line of the
	commit log message.

-s|--signoff::
	Add `Signed-off-by:` line to the commit message, using
	the committer identity of yourself.

--stdout::
	Print all commits to the standard output in mbox format,
	instead of creating a file for each one.

--attach::
	Create attachments instead of inlining patches.


CONFIGURATION
-------------
You can specify extra mail header lines to be added to each
message in the repository configuration as follows:

[format]
        headers = "Organization: git-foo\n"


EXAMPLES
--------

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.

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.

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.


See Also
--------
gitlink:git-am[1], gitlink:git-send-email[1]


Author
------
Written by Junio C Hamano <junkio@cox.net>

Documentation
--------------
Documentation by Junio C Hamano and the git-list <git@vger.kernel.org>.

GIT
---
Part of the gitlink:git[7] suite

