Here's a chunk of commit messages from our repo. It's mercurial but I believe in this context git will be relevant as well:
Viktor Bubnidze TEST: chat send url fix changeset
Kate Gunicky PROJ-15754: [work-space] Chat Section CSS issues
Vadym Malan Merge
Vadym Malan TEST: char send url test
Ron Cosby Merge
Ron Cosby Merge
Ron Cosby Merge
Ron Cosby Merge
Ron Cosby PROJ-15711: Fix the jsdoc template
Anna Flint Merge
See what's going on - each time user updates while goint to push and found that repo is outdated just merges. This creates informational noise and makes log reading less comfortable. Also, merges to my understanding are not completely cheap in terms of disk space.
My question is - what can be done to encourage contributors to use rebase whenever it is possible. For instance, it's relatively easy to introduce hooks that forbids merge commmits at all. In fact, there are already lot of restrictions in our project - like commit message naming etc. I'm not sure that being restrictive is the best thing to do in this particular case.
People are choosing merges because it is the cheapest strategy for syncing. If some other strategy will work for them and be more pleasant - they'll just switch to it.
The thing is I can not come up with any elegant "kind" solution for this. To be completely honest with you, the tempation to play as a dictator is quite strong. But I just want to learn somthing new. Something, well, more peaceful.