GIT-FORMAT-PATCH(1)

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

SYNOPSIS

git-format-patch [-n | -k] [-o <dir> | --stdout] [-s] [-c]
                 [--diff-options] <his> [<mine>]

DESCRIPTION
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 git-am(1)..sp Each output file is numbered sequentially from 1, and uses the first line of the commit message (massaged for pathname safety) as the filename..sp 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..sp When -n is specified, instead of "[PATCH] Subject", the first line is formatted as "[PATCH N/M] Subject", unless you have only one patch..sp

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.

-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.

-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.

--stdout
    This flag generates the mbox formatted output to the standard output, instead of saving them into a file per patch and implies --mbox.

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 commits the current branch accumulated since it pulled from origin the last time in a patch form for e-mail submission.

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.

SEE ALSO
git-am(1), git-send-email(1).sp

AUTHOR
Written by Junio C Hamano <junkio@cox.net>.sp

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

GIT
Part of the git(7) suite.sp