Have you tried switching to the fork-and-pull-request model instead of everyone directly committing to the main repo?
(It's how many, many open-source projects run, and GitHub has a good write-up of it here: https://help.github.com/articles/using-pull-requests )