title: Force branch to be rebased before it is merged and pushed
body: <p>I would want to add a hook on my Gitlab server to prevent pushing merged branches on master if they was not rebased before.</p>
  
  <p>For example :
  <code>
  A---B---C---D ← master
       \
        E---F---G ← new-feature
  </code></p>
  
  <p>I want the user to rebase his feature before merging/pushing.
  <code>
  A---B---C---D-------------H ← master
               \           /
                E'---F'---G'
  </code></p>
  
  <p>I don't want this to be pushed
  <code>
  A---B---C---D---H ← master
       \         /
        E---F---G
  </code></p>
  
  <p>This, is a good beginning but I don't find mean to only refuse not empty merge commits :
  <a href="https://stackoverflow.com/questions/32657757/force-feature-branch-to-be-rebased-before-it-is-merged-or-pushed">Force Feature Branch to be Rebased Before it is Merged or Pushed</a></p>