I use GitLab in my project. I\'m exploring Merge Requests feature.
topic_branch
master
As I understood from http://doc.gitlab.com/ee/workflow/rebase_before_merge.html GitLab will always create merge commit to keep a way to revert the whole branch.