|  | `merge.conflictStyle`:: | 
|  | Specify the style in which conflicted hunks are written out to | 
|  | working tree files upon merge.  The default is "merge", which | 
|  | shows a +<<<<<<<+ conflict marker, changes made by one side, | 
|  | a `=======` marker, changes made by the other side, and then | 
|  | a +>>>>>>>+ marker.  An alternate style, "diff3", adds a +|||||||+ | 
|  | marker and the original text before the `=======` marker.  The | 
|  | "merge" style tends to produce smaller conflict regions than diff3, | 
|  | both because of the exclusion of the original text, and because | 
|  | when a subset of lines match on the two sides, they are just pulled | 
|  | out of the conflict region.  Another alternate style, "zdiff3", is | 
|  | similar to diff3 but removes matching lines on the two sides from | 
|  | the conflict region when those matching lines appear near either | 
|  | the beginning or end of a conflict region. | 
|  |  | 
|  | `merge.defaultToUpstream`:: | 
|  | If merge is called without any commit argument, merge the upstream | 
|  | branches configured for the current branch by using their last | 
|  | observed values stored in their remote-tracking branches. | 
|  | The values of the `branch.<current branch>.merge` that name the | 
|  | branches at the remote named by `branch.<current-branch>.remote` | 
|  | are consulted, and then they are mapped via `remote.<remote>.fetch` | 
|  | to their corresponding remote-tracking branches, and the tips of | 
|  | these tracking branches are merged. Defaults to true. | 
|  |  | 
|  | `merge.ff`:: | 
|  | By default, Git does not create an extra merge commit when merging | 
|  | a commit that is a descendant of the current commit. Instead, the | 
|  | tip of the current branch is fast-forwarded. When set to `false`, | 
|  | this variable tells Git to create an extra merge commit in such | 
|  | a case (equivalent to giving the `--no-ff` option from the command | 
|  | line). When set to `only`, only such fast-forward merges are | 
|  | allowed (equivalent to giving the `--ff-only` option from the | 
|  | command line). | 
|  |  | 
|  | `merge.verifySignatures`:: | 
|  | If true, this is equivalent to the `--verify-signatures` command | 
|  | line option. See linkgit:git-merge[1] for details. | 
|  |  | 
|  | include::fmt-merge-msg.adoc[] | 
|  |  | 
|  | `merge.renameLimit`:: | 
|  | The number of files to consider in the exhaustive portion of | 
|  | rename detection during a merge.  If not specified, defaults | 
|  | to the value of `diff.renameLimit`.  If neither | 
|  | `merge.renameLimit` nor `diff.renameLimit` are specified, | 
|  | currently defaults to 7000.  This setting has no effect if | 
|  | rename detection is turned off. | 
|  |  | 
|  | `merge.renames`:: | 
|  | Whether Git detects renames.  If set to `false`, rename detection | 
|  | is disabled. If set to `true`, basic rename detection is enabled. | 
|  | Defaults to the value of diff.renames. | 
|  |  | 
|  | `merge.directoryRenames`:: | 
|  | Whether Git detects directory renames, affecting what happens at | 
|  | merge time to new files added to a directory on one side of | 
|  | history when that directory was renamed on the other side of | 
|  | history. Possible values are: | 
|  | + | 
|  | -- | 
|  | `false`;; Directory rename detection is disabled, meaning that such new files will be | 
|  | left behind in the old directory. | 
|  | `true`;; Directory rename detection is enabled, meaning that such new files will be | 
|  | moved into the new directory. | 
|  | `conflict`;; A conflict will be reported for such paths. | 
|  | -- | 
|  | + | 
|  | If `merge.renames` is `false`, `merge.directoryRenames` is ignored and treated | 
|  | as `false`. Defaults to `conflict`. | 
|  |  | 
|  | `merge.renormalize`:: | 
|  | Tell Git that canonical representation of files in the | 
|  | repository has changed over time (e.g. earlier commits record | 
|  | text files with _CRLF_ line endings, but recent ones use _LF_ line | 
|  | endings).  In such a repository, for each file where a | 
|  | three-way content merge is needed, Git can convert the data | 
|  | recorded in commits to a canonical form before performing a | 
|  | merge to reduce unnecessary conflicts.  For more information, | 
|  | see section "Merging branches with differing checkin/checkout | 
|  | attributes" in linkgit:gitattributes[5]. | 
|  |  | 
|  | `merge.stat`:: | 
|  | What, if anything, to print between `ORIG_HEAD` and the merge result | 
|  | at the end of the merge.  Possible values are: | 
|  | + | 
|  | -- | 
|  | `false`;; Show nothing. | 
|  | `true`;; Show `git diff --diffstat --summary ORIG_HEAD`. | 
|  | `compact`;; Show `git diff --compact-summary ORIG_HEAD`. | 
|  | -- | 
|  | + | 
|  | but any unrecognised value (e.g., a value added by a future version of | 
|  | Git) is taken as `true` instead of triggering an error.  Defaults to | 
|  | `true`. | 
|  |  | 
|  | `merge.autoStash`:: | 
|  | When set to `true`, automatically create a temporary stash entry | 
|  | before the operation begins, and apply it after the operation | 
|  | ends.  This means that you can run merge on a dirty worktree. | 
|  | However, use with care: the final stash application after a | 
|  | successful merge might result in non-trivial conflicts. | 
|  | This option can be overridden by the `--no-autostash` and | 
|  | `--autostash` options of linkgit:git-merge[1]. | 
|  | Defaults to `false`. | 
|  |  | 
|  | `merge.tool`:: | 
|  | Controls which merge tool is used by linkgit:git-mergetool[1]. | 
|  | The list below shows the valid built-in values. | 
|  | Any other value is treated as a custom merge tool and requires | 
|  | that a corresponding `mergetool.<tool>.cmd` variable is defined. | 
|  |  | 
|  | `merge.guitool`:: | 
|  | Controls which merge tool is used by linkgit:git-mergetool[1] when the | 
|  | `-g`/`--gui` flag is specified. The list below shows the valid built-in values. | 
|  | Any other value is treated as a custom merge tool and requires that a | 
|  | corresponding `mergetool.<guitool>.cmd` variable is defined. | 
|  |  | 
|  | include::{build_dir}/mergetools-merge.adoc[] | 
|  |  | 
|  | `merge.verbosity`:: | 
|  | Controls the amount of output shown by the recursive merge | 
|  | strategy.  Level 0 outputs nothing except a final error | 
|  | message if conflicts were detected. Level 1 outputs only | 
|  | conflicts, 2 outputs conflicts and file changes.  Level 5 and | 
|  | above outputs debugging information.  The default is level 2. | 
|  | Can be overridden by the `GIT_MERGE_VERBOSITY` environment variable. | 
|  |  | 
|  | `merge.<driver>.name`:: | 
|  | Defines a human-readable name for a custom low-level | 
|  | merge driver.  See linkgit:gitattributes[5] for details. | 
|  |  | 
|  | `merge.<driver>.driver`:: | 
|  | Defines the command that implements a custom low-level | 
|  | merge driver.  See linkgit:gitattributes[5] for details. | 
|  |  | 
|  | `merge.<driver>.recursive`:: | 
|  | Names a low-level merge driver to be used when | 
|  | performing an internal merge between common ancestors. | 
|  | See linkgit:gitattributes[5] for details. |