Allow pushing merge commits even if pushing is not allowed
Description
It was great to allow pushing of merge commits (when merging is allowed) even if it is not allowed to push to a branch, because it is prohibited in the "protected branch" settings.
We have an ansible repo and commits to the master branch get automatically deployed to production. So we only want to allow merging to master but not pushing. But we want to sign our commits using PGP (see #20270 (closed) ). So we have to merge branches locally outside GitLab. But when we disallow pushes, we currently can't push our signed merge commits.
Another benefit was that merging locally might better fit into your workflow, because you might don't want to click
Proposal
GitLab should not completely deny pushing commits but it should check if it is a merge commit (having two parents from different branches) and then allow merge commits and deny other commits.