blob: 0bcbe0ac3c474ab12068f468476946b9db5ef3e8 [file] [log] [blame]
Perform the merge and commit the result. This option can
be used to override --no-commit.
With --no-commit perform the merge but pretend the merge
failed and do not autocommit, to give the user a chance to
inspect and further tweak the merge result before committing.
Invoke an editor before committing successful mechanical merge to
further edit the auto-generated merge message, so that the user
can explain and justify the merge. The `--no-edit` option can be
used to accept the auto-generated message (this is generally
discouraged). The `--edit` option is still useful if you are
giving a draft message with the `-m` option from the command line
and want to edit it in the editor.
Older scripts may depend on the historical behaviour of not allowing the
user to edit the merge log message. They will see an editor opened when
they run `git merge`. To make it easier to adjust such scripts to the
updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be
set to `no` at the beginning of them.
When the merge resolves as a fast-forward, only update the branch
pointer, without creating a merge commit. This is the default
Create a merge commit even when the merge resolves as a
Refuse to merge and exit with a non-zero status unless the
current `HEAD` is already up-to-date or the merge can be
resolved as a fast-forward.
In addition to branch names, populate the log message with
one-line descriptions from at most <n> actual commits that are being
merged. See also linkgit:git-fmt-merge-msg[1].
With --no-log do not list one-line descriptions from the
actual commits being merged.
Show a diffstat at the end of the merge. The diffstat is also
controlled by the configuration option merge.stat.
With -n or --no-stat do not show a diffstat at the end of the
Produce the working tree and index state as if a real
merge happened (except for the merge information),
but do not actually make a commit or
move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
cause the next `git commit` command to create a merge
commit. This allows you to create a single commit on
top of the current branch whose effect is the same as
merging another branch (or more in case of an octopus).
With --no-squash perform the merge and commit the result. This
option can be used to override --squash.
-s <strategy>::
Use the given merge strategy; can be supplied more than
once to specify them in the order they should be tried.
If there is no `-s` option, a built-in list of strategies
is used instead ('git merge-recursive' when merging a single
head, 'git merge-octopus' otherwise).
-X <option>::
Pass merge strategy specific option through to the merge
Synonyms to --stat and --no-stat; these are deprecated and will be
removed in the future.
Operate quietly. Implies --no-progress.
Be verbose.
Turn progress on/off explicitly. If neither is specified,
progress is shown if standard error is connected to a terminal.
Note that not all merge strategies may support progress