About merge methods on GitHub - User Documentation https://help.github.com/articles/about-merge-methods-on-github/

 

 

Merge request

Collapse

Customize your merge request restrictions.

Merge method
Merge commit 
A merge commit is created for every merge, and merging is allowed as long as there are no conflicts.
Merge commit with semi-linear history 
A merge commit is created for every merge, but merging is only allowed if fast-forward merge is possible. This way you could make sure that if this merge request would build, after merging to target branch it would also build. 
When fast-forward merge is not possible, the user is given the option to rebase.
Fast-forward merge 
No merge commits are created and all merges are fast-forwarded, which means that merging is only allowed if the branch could be fast-forwarded. 
When fast-forward merge is not possible, the user is given the option to rebase.
Only allow merge requests to be merged if the pipeline succeeds 
Pipelines need to be configured to enable this feature. 
Only allow merge requests to be merged if all discussions are resolved
Automatically resolve merge request diff discussions when they become outdated
Show link to create/view merge request when pushing from the command line