title: GitLab: What is the purpose for using developer role?
body: <p>I've noticed in <code>master</code> branch of my project <code>push</code> is prohibited for <code>developer</code> role by default.
  <a href="https://i.stack.imgur.com/59oUg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/59oUg.png" alt="enter image description here"></a></p>
  
  <p>I wonder what is the reason to have a <code>developer</code> role in this case? I mean a <code>developer</code> which have no access to push, how can submit his/her changes into project?</p>
  
  <p>In such configuration, should <code>developer</code> push their changes to other branches and then project <code>maintainer</code> apply changes to master branch or there are some other typical methods for this?</p>