We actually do that (almost)
Just set the file permissions in the staging and production directories so not everyone has update rights. Then anyone can check things into the repository, but they don't come down to staging without review.
Now if you commit changes, and someone else commits changes on the same files, it's a little harder to stage the second set of changes without the first, but it's doable.
===
Implicitly condoning stupidity since 2001.