Documentation / merge-options.txton commit Support "**" wildcard in .gitignore and .gitattributes (237ec6e)
   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.
  34
  35--ff-only::
  36        Refuse to merge and exit with a non-zero status unless the
  37        current `HEAD` is already up-to-date or the merge can be
  38        resolved as a fast-forward.
  39
  40--log[=<n>]::
  41--no-log::
  42        In addition to branch names, populate the log message with
  43        one-line descriptions from at most <n> actual commits that are being
  44        merged. See also linkgit:git-fmt-merge-msg[1].
  45+
  46With --no-log do not list one-line descriptions from the
  47actual commits being merged.
  48
  49
  50--stat::
  51-n::
  52--no-stat::
  53        Show a diffstat at the end of the merge. The diffstat is also
  54        controlled by the configuration option merge.stat.
  55+
  56With -n or --no-stat do not show a diffstat at the end of the
  57merge.
  58
  59--squash::
  60--no-squash::
  61        Produce the working tree and index state as if a real
  62        merge happened (except for the merge information),
  63        but do not actually make a commit or
  64        move the `HEAD`, nor record `$GIT_DIR/MERGE_HEAD` to
  65        cause the next `git commit` command to create a merge
  66        commit.  This allows you to create a single commit on
  67        top of the current branch whose effect is the same as
  68        merging another branch (or more in case of an octopus).
  69+
  70With --no-squash perform the merge and commit the result. This
  71option can be used to override --squash.
  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[]