title: git merge: is there a way to force --squash?
body: <p>So, the dev workflow for our project is like this: we create a task/bug ticket, and we branch off master to work on the task/bug, and eventually merge it back to master. We would like the commits on master to have nice messages. People committing on the task branch may not have good commit messages, and that's ok, but if the branch is to be merged, these commits with unclean messages are going into master.</p>
  
  <p>One way to solve this is to always merge to master with --squash. That way, you get a chance to supply good commit message and treat the whole range of commits as one. I'm wondering if there's a way to <em>enforce</em> that? meaning, if we can let git server reject merges that aren't squashed?</p>