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