]>
Commit | Line | Data |
---|---|---|
da0005b8 | 1 | merge.conflictStyle:: |
42fc11c1 JH |
2 | Specify the style in which conflicted hunks are written out to |
3 | working tree files upon merge. The default is "merge", which | |
29b802aa RW |
4 | shows a `<<<<<<<` conflict marker, changes made by one side, |
5 | a `=======` marker, changes made by the other side, and then | |
6 | a `>>>>>>>` marker. An alternate style, "diff3", adds a `|||||||` | |
ddfc44a8 EN |
7 | marker and the original text before the `=======` marker. The |
8 | "merge" style tends to produce smaller conflict regions than diff3, | |
9 | both because of the exclusion of the original text, and because | |
4d542687 | 10 | when a subset of lines match on the two sides, they are just pulled |
ddfc44a8 EN |
11 | out of the conflict region. Another alternate style, "zdiff3", is |
12 | similar to diff3 but removes matching lines on the two sides from | |
13 | the conflict region when those matching lines appear near either | |
14 | the beginning or end of a conflict region. | |
3e6c0a3f | 15 | |
93e535a5 JH |
16 | merge.defaultToUpstream:: |
17 | If merge is called without any commit argument, merge the upstream | |
18 | branches configured for the current branch by using their last | |
a6d3bde5 | 19 | observed values stored in their remote-tracking branches. |
93e535a5 JH |
20 | The values of the `branch.<current branch>.merge` that name the |
21 | branches at the remote named by `branch.<current branch>.remote` | |
22 | are consulted, and then they are mapped via `remote.<remote>.fetch` | |
a6d3bde5 | 23 | to their corresponding remote-tracking branches, and the tips of |
8603c419 | 24 | these tracking branches are merged. Defaults to true. |
93e535a5 | 25 | |
f23e8dec | 26 | merge.ff:: |
2de9b711 | 27 | By default, Git does not create an extra merge commit when merging |
f23e8dec JH |
28 | a commit that is a descendant of the current commit. Instead, the |
29 | tip of the current branch is fast-forwarded. When set to `false`, | |
2de9b711 | 30 | this variable tells Git to create an extra merge commit in such |
f23e8dec JH |
31 | a case (equivalent to giving the `--no-ff` option from the command |
32 | line). When set to `only`, only such fast-forward merges are | |
33 | allowed (equivalent to giving the `--ff-only` option from the | |
34 | command line). | |
35 | ||
ca779e82 HJI |
36 | merge.verifySignatures:: |
37 | If true, this is equivalent to the --verify-signatures command | |
38 | line option. See linkgit:git-merge[1] for details. | |
39 | ||
7fb5ab4a | 40 | include::fmt-merge-msg.txt[] |
f5a84c37 | 41 | |
2a2ac926 | 42 | merge.renameLimit:: |
6623a528 EN |
43 | The number of files to consider in the exhaustive portion of |
44 | rename detection during a merge. If not specified, defaults | |
45 | to the value of diff.renameLimit. If neither | |
46 | merge.renameLimit nor diff.renameLimit are specified, | |
94b82d56 | 47 | currently defaults to 7000. This setting has no effect if |
6623a528 | 48 | rename detection is turned off. |
2a2ac926 | 49 | |
85b46030 | 50 | merge.renames:: |
8c8e5bd6 EN |
51 | Whether Git detects renames. If set to "false", rename detection |
52 | is disabled. If set to "true", basic rename detection is enabled. | |
53 | Defaults to the value of diff.renames. | |
54 | ||
55 | merge.directoryRenames:: | |
56 | Whether Git detects directory renames, affecting what happens at | |
57 | merge time to new files added to a directory on one side of | |
58 | history when that directory was renamed on the other side of | |
59 | history. If merge.directoryRenames is set to "false", directory | |
60 | rename detection is disabled, meaning that such new files will be | |
61 | left behind in the old directory. If set to "true", directory | |
62 | rename detection is enabled, meaning that such new files will be | |
63 | moved into the new directory. If set to "conflict", a conflict | |
64 | will be reported for such paths. If merge.renames is false, | |
65 | merge.directoryRenames is ignored and treated as false. Defaults | |
66 | to "conflict". | |
85b46030 | 67 | |
f217f0e8 | 68 | merge.renormalize:: |
2de9b711 | 69 | Tell Git that canonical representation of files in the |
f217f0e8 EB |
70 | repository has changed over time (e.g. earlier commits record |
71 | text files with CRLF line endings, but recent ones use LF line | |
2de9b711 | 72 | endings). In such a repository, Git can convert the data |
f217f0e8 EB |
73 | recorded in commits to a canonical form before performing a |
74 | merge to reduce unnecessary conflicts. For more information, | |
75 | see section "Merging branches with differing checkin/checkout | |
76 | attributes" in linkgit:gitattributes[5]. | |
77 | ||
42fc11c1 JH |
78 | merge.stat:: |
79 | Whether to print the diffstat between ORIG_HEAD and the merge result | |
80 | at the end of the merge. True by default. | |
81 | ||
a03b5553 DL |
82 | merge.autoStash:: |
83 | When set to true, automatically create a temporary stash entry | |
84 | before the operation begins, and apply it after the operation | |
85 | ends. This means that you can run merge on a dirty worktree. | |
86 | However, use with care: the final stash application after a | |
87 | successful merge might result in non-trivial conflicts. | |
88 | This option can be overridden by the `--no-autostash` and | |
89 | `--autostash` options of linkgit:git-merge[1]. | |
90 | Defaults to false. | |
91 | ||
f5a84c37 | 92 | merge.tool:: |
f35ec546 DA |
93 | Controls which merge tool is used by linkgit:git-mergetool[1]. |
94 | The list below shows the valid built-in values. | |
95 | Any other value is treated as a custom merge tool and requires | |
96 | that a corresponding mergetool.<tool>.cmd variable is defined. | |
97 | ||
c217b938 DL |
98 | merge.guitool:: |
99 | Controls which merge tool is used by linkgit:git-mergetool[1] when the | |
100 | -g/--gui flag is specified. The list below shows the valid built-in values. | |
101 | Any other value is treated as a custom merge tool and requires that a | |
102 | corresponding mergetool.<guitool>.cmd variable is defined. | |
103 | ||
7fb5ab4a | 104 | include::../mergetools-merge.txt[] |
f5a84c37 SG |
105 | |
106 | merge.verbosity:: | |
107 | Controls the amount of output shown by the recursive merge | |
108 | strategy. Level 0 outputs nothing except a final error | |
109 | message if conflicts were detected. Level 1 outputs only | |
110 | conflicts, 2 outputs conflicts and file changes. Level 5 and | |
111 | above outputs debugging information. The default is level 2. | |
eee7f4a2 | 112 | Can be overridden by the `GIT_MERGE_VERBOSITY` environment variable. |
f5a84c37 SG |
113 | |
114 | merge.<driver>.name:: | |
29b802aa | 115 | Defines a human-readable name for a custom low-level |
f5a84c37 SG |
116 | merge driver. See linkgit:gitattributes[5] for details. |
117 | ||
118 | merge.<driver>.driver:: | |
119 | Defines the command that implements a custom low-level | |
120 | merge driver. See linkgit:gitattributes[5] for details. | |
121 | ||
122 | merge.<driver>.recursive:: | |
123 | Names a low-level merge driver to be used when | |
124 | performing an internal merge between common ancestors. | |
125 | See linkgit:gitattributes[5] for details. |