--summary:: Show a diffstat at the end of the merge. The diffstat is also controlled by the configuration option merge.diffstat. -n, \--no-summary:: Do not show diffstat at the end of the merge. --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, 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>, \--strategy=<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).