-q:: --quiet:: Operate quietly. -v:: --verbose:: Be verbose. --stat:: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.stat. -n:: --no-stat:: Do not show a diffstat at the end of the merge. --summary:: --no-summary:: Synonyms to --stat and --no-stat; these are deprecated and will be removed in the future. --log:: In addition to branch names, populate the log message with one-line descriptions from the actual commits that are being merged. --no-log:: Do not list one-line descriptions from the actual commits being merged. --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. --commit:: Perform the merge and commit the result. This option can be used to override --no-commit. --squash:: 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). --no-squash:: Perform the merge and commit the result. This option can be used to override --squash. --no-ff:: Generate a merge commit even if the merge resolved as a fast-forward. --ff:: Do not generate a merge commit if the merge resolved as a fast-forward, only update the branch pointer. This is the default behavior of git-merge. -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).