Documentation / merge-options.txton commit Update draft release notes to 1.9 (d7aced9)
   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-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.
  20+
  21Older scripts may depend on the historical behaviour of not allowing the
  22user to edit the merge log message. They will see an editor opened when
  23they run `git merge`. To make it easier to adjust such scripts to the
  24updated behaviour, the environment variable `GIT_MERGE_AUTOEDIT` can be
  25set to `no` at the beginning of them.
  26
  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.
  31
  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.
  36
  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.
  41
  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].
  47+
  48With --no-log do not list one-line descriptions from the
  49actual commits being merged.
  50
  51
  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.
  57+
  58With -n or --no-stat do not show a diffstat at the end of the
  59merge.
  60
  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).
  71+
  72With --no-squash perform the merge and commit the result. This
  73option can be used to override --squash.
  74
  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).
  82
  83-X <option>::
  84--strategy-option=<option>::
  85        Pass merge strategy specific option through to the merge
  86        strategy.
  87
  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.
  92
  93--summary::
  94--no-summary::
  95        Synonyms to --stat and --no-stat; these are deprecated and will be
  96        removed in the future.
  97
  98ifndef::git-pull[]
  99-q::
 100--quiet::
 101        Operate quietly. Implies --no-progress.
 102
 103-v::
 104--verbose::
 105        Be verbose.
 106
 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.
 113
 114endif::git-pull[]