git-fmt-merge-msg(1)
====================

NAME
----
git-fmt-merge-msg - Produce a merge commit message


SYNOPSIS
--------
[verse]
'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log]
'git fmt-merge-msg' [-m <message>] [--log[=<n>] | --no-log] -F <file>

DESCRIPTION
-----------
Takes the list of merged objects on stdin and produces a suitable
commit message to be used for the merge commit, usually to be
passed as the '<merge-message>' argument of 'git merge'.

This command is intended mostly for internal use by scripts
automatically invoking 'git merge'.

OPTIONS
-------

--log[=<n>]::
	In addition to branch names, populate the log message with
	one-line descriptions from the actual commits that are being
	merged.  At most <n> commits from each merge parent will be
	used (20 if <n> is omitted).  This overrides the `merge.log`
	configuration variable.

--no-log::
	Do not list one-line descriptions from the actual commits being
	merged.

--[no-]summary::
	Synonyms to --log and --no-log; these are deprecated and will be
	removed in the future.

-m <message>::
--message <message>::
	Use <message> instead of the branch names for the first line
	of the log message.  For use with `--log`.

-F <file>::
--file <file>::
	Take the list of merged objects from <file> instead of
	stdin.

CONFIGURATION
-------------
include::config/fmt-merge-msg.txt[]

merge.summary::
	Synonym to `merge.log`; this is deprecated and will be removed in
	the future.

EXAMPLES
--------

---------
$ git fetch origin master
$ git fmt-merge-msg --log <$GIT_DIR/FETCH_HEAD
---------

Print a log message describing a merge of the "master" branch from
the "origin" remote.


SEE ALSO
--------
linkgit:git-merge[1]

GIT
---
Part of the linkgit:git[1] suite
