git-fmt-merge-msg - Man Page

Produce a merge commit message

Synopsis

git fmt-merge-msg [-m <message>] [--into-name <branch>] [--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​.

--summary,  --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​.

--into-name <branch>

Prepare the merge message as if merging to the branch <branch>, instead of the name of the real branch to which the merge is made​.

-F <file>, --file <file>

Take the list of merged objects from <file> instead of stdin​.

Configuration

merge​.branchdesc

In addition to branch names, populate the log message with the branch description text associated with them​. Defaults to false​.

merge​.log

In addition to branch names, populate the log message with at most the specified number of one-line descriptions from the actual commits that are being merged​. Defaults to false, and true is a synonym for 20​.

merge​.suppressDest

By adding a glob that matches the names of integration branches to this multi-valued configuration variable, the default merge message computed for merges into these integration branches will omit "into <branch-name>" from its title​.

An element with an empty value can be used to clear the list of globs accumulated from previous configuration entries​. When there is no merge​.suppressDest variable defined, the default value of master is used for backward compatibility​.

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

git-merge(1)

Git

Part of the git(1) suite

Info

09/28/2026 Git 2.56.0 Git Manual