Home Explore Blog CI



git

1st chunk of `Documentation/config/merge.adoc`
35ae473ac774f15ca9741afec219dab0431fa35f97b65daf0000000100000b7b
`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

Title: Git Merge Configuration Options
Summary
This section describes various configuration options for Git merge, including conflict style, default upstream merge, fast-forward merge, signature verification, rename detection, and directory rename detection, which can be used to customize the merge behavior in Git.