shorten_unambiguous_ref(): tighten up pointer arithmetic
[git/git-svn.git] / Documentation / merge-options.txt
blobafba8d4f3b2dcc952310c270daf26e01f8b30800
1 --commit::
2 --no-commit::
3         Perform the merge and commit the result. This option can
4         be used to override --no-commit.
6 With --no-commit perform the merge but pretend the merge
7 failed and do not autocommit, to give the user a chance to
8 inspect and further tweak the merge result before committing.
10 --edit::
11 -e::
12 --no-edit::
13         Invoke an editor before committing successful mechanical merge to
14         further edit the auto-generated merge message, so that the user
15         can explain and justify the merge. The `--no-edit` option can be
16         used to accept the auto-generated message (this is generally
17         discouraged). The `--edit` (or `-e`) option is still useful if you are
18         giving a draft message with the `-m` option from the command line
19         and want to edit it in the editor.
21 Older scripts may depend on the historical behaviour of not allowing the
22 user to edit the merge log message. They will see an editor opened when
23 they run `git merge`. To make it easier to adjust such scripts to the
24 updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be
25 set to `no` at the beginning of them.
27 --ff::
28         When the merge resolves as a fast-forward, only update the branch
29         pointer, without creating a merge commit.  This is the default
30         behavior.
32 --no-ff::
33         Create a merge commit even when the merge resolves as a
34         fast-forward.  This is the default behaviour when merging an
35         annotated (and possibly signed) tag.
37 --ff-only::
38         Refuse to merge and exit with a non-zero status unless the
39         current `HEAD` is already up-to-date or the merge can be
40         resolved as a fast-forward.
42 --log[=<n>]::
43 --no-log::
44         In addition to branch names, populate the log message with
45         one-line descriptions from at most <n> actual commits that are being
46         merged. See also linkgit:git-fmt-merge-msg[1].
48 With --no-log do not list one-line descriptions from the
49 actual commits being merged.
52 --stat::
53 -n::
54 --no-stat::
55         Show a diffstat at the end of the merge. The diffstat is also
56         controlled by the configuration option merge.stat.
58 With -n or --no-stat do not show a diffstat at the end of the
59 merge.
61 --squash::
62 --no-squash::
63         Produce the working tree and index state as if a real
64         merge happened (except for the merge information),
65         but do not actually make a commit or
66         move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
67         cause the next `git commit` command to create a merge
68         commit.  This allows you to create a single commit on
69         top of the current branch whose effect is the same as
70         merging another branch (or more in case of an octopus).
72 With --no-squash perform the merge and commit the result. This
73 option can be used to override --squash.
75 -s <strategy>::
76 --strategy=<strategy>::
77         Use the given merge strategy; can be supplied more than
78         once to specify them in the order they should be tried.
79         If there is no `-s` option, a built-in list of strategies
80         is used instead ('git merge-recursive' when merging a single
81         head, 'git merge-octopus' otherwise).
83 -X <option>::
84 --strategy-option=<option>::
85         Pass merge strategy specific option through to the merge
86         strategy.
88 --verify-signatures::
89 --no-verify-signatures::
90         Verify that the commits being merged have good and trusted GPG signatures
91         and abort the merge in case they do not.
93 --summary::
94 --no-summary::
95         Synonyms to --stat and --no-stat; these are deprecated and will be
96         removed in the future.
98 ifndef::git-pull[]
99 -q::
100 --quiet::
101         Operate quietly. Implies --no-progress.
103 -v::
104 --verbose::
105         Be verbose.
107 --progress::
108 --no-progress::
109         Turn progress on/off explicitly. If neither is specified,
110         progress is shown if standard error is connected to a terminal.
111         Note that not all merge strategies may support progress
112         reporting.
114 endif::git-pull[]