Documentation / merge-options.txton commit Update draft release notes to 1.7.10 (bd444ca)
   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--no-ff::
  28        Do not generate a merge commit if the merge resolved as
  29        a fast-forward, only update the branch pointer. This is
  30        the default behavior of git-merge.
  31+
  32With --no-ff Generate a merge commit even if the merge
  33resolved as a fast-forward.
  34
  35--log[=<n>]::
  36--no-log::
  37        In addition to branch names, populate the log message with
  38        one-line descriptions from at most <n> actual commits that are being
  39        merged. See also linkgit:git-fmt-merge-msg[1].
  40+
  41With --no-log do not list one-line descriptions from the
  42actual commits being merged.
  43
  44
  45--stat::
  46-n::
  47--no-stat::
  48        Show a diffstat at the end of the merge. The diffstat is also
  49        controlled by the configuration option merge.stat.
  50+
  51With -n or --no-stat do not show a diffstat at the end of the
  52merge.
  53
  54--squash::
  55--no-squash::
  56        Produce the working tree and index state as if a real
  57        merge happened (except for the merge information),
  58        but do not actually make a commit or
  59        move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
  60        cause the next `git commit` command to create a merge
  61        commit.  This allows you to create a single commit on
  62        top of the current branch whose effect is the same as
  63        merging another branch (or more in case of an octopus).
  64+
  65With --no-squash perform the merge and commit the result. This
  66option can be used to override --squash.
  67
  68--ff-only::
  69        Refuse to merge and exit with a non-zero status unless the
  70        current `HEAD` is already up-to-date or the merge can be
  71        resolved as a fast-forward.
  72
  73-s <strategy>::
  74--strategy=<strategy>::
  75        Use the given merge strategy; can be supplied more than
  76        once to specify them in the order they should be tried.
  77        If there is no `-s` option, a built-in list of strategies
  78        is used instead ('git merge-recursive' when merging a single
  79        head, 'git merge-octopus' otherwise).
  80
  81-X <option>::
  82--strategy-option=<option>::
  83        Pass merge strategy specific option through to the merge
  84        strategy.
  85
  86--summary::
  87--no-summary::
  88        Synonyms to --stat and --no-stat; these are deprecated and will be
  89        removed in the future.
  90
  91ifndef::git-pull[]
  92-q::
  93--quiet::
  94        Operate quietly. Implies --no-progress.
  95
  96-v::
  97--verbose::
  98        Be verbose.
  99
 100--progress::
 101--no-progress::
 102        Turn progress on/off explicitly. If neither is specified,
 103        progress is shown if standard error is connected to a terminal.
 104        Note that not all merge strategies may support progress
 105        reporting.
 106
 107endif::git-pull[]