GIT-FMT-MERGE-MSG(1)
π GIT-FMT-MERGE-MSG(1) β the git manual, but make it cute
okay so bestie, welcome to git-fmt-merge-msg from the git(1) manual β¨ this one's lowkey a backstage-pass situation β it's the little helper that writes your merge commit message for you π
πΈ NAME πΈ
git-fmt-merge-msg β 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 π
So here's the vibe: it takes the list of merged objects on stdin and produces a suitable commit message to be used for the merge commit β usually the one you'd hand over as the <merge-message> argument of git merge π«Ά
Real talk though, this command is intended mostly for internal use by scripts that automatically invoke git merge. So like, it's not really the main character β it's the best friend holding the water bottle backstage π§ iykyk
π¦ 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 themerge.logconfiguration variable π₯--no-logβ do not list one-line descriptions from the actual commits being merged. simple as that π--summary,--no-summaryβ synonyms to--logand--no-log; these are deprecated and will be removed in the future. so likeβ¦ they're giving legacy era, don't get attached π-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. manifesting a different destination, honestly β¨-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 tofalseπΈ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 tofalse, andtrueis a synonym for20β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 tomerge.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. cute, right? obsessed ππ
π§ SEE ALSO π§
git-merge(1) β go read that one too, it's the whole point of all this π
π« GIT π«
Part of the git(1) suite π
ngl that's the whole page, bestie. no cap, every flag is here, nothing skipped π«‘
and that's a wrap!! this gem came to you from Git 2.56.0, dated 2026-09-27, and it's officially the GIT-FMT-MERGE-MSG(1) page β periodt π
ππ
π¦ where this page comes from
- arch rolling: git 2.56.0-1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms