141 lines
6.0 KiB
Plaintext
141 lines
6.0 KiB
Plaintext
`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.
|