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. This option is ignored if
	--stdout is specified.

-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

