This is an orthogonal issue from the one you brought in originally, and in this case I am 100% with you.
In Programming 101, you require all assignments to be turned in by pushing to <insert your favorite control version here> repository.
In Data Structures, you require each assignment to turn at least 5 versions which show the evolution of your work (not just 4 empty skeletons and one final push with the completed assignment at the end). Then was you asses the quality of versions you introduce this other soft technology called "peer review".
In later courses, like Compilers, you can have the whole group work on a single code base, each branching and merging back their own part of the work. You teach how to work in teams.
etc, etc...
What the choking point is here is that instructors themselves are, more often than not, not familiar with this kind of techniques and technologies. And they are unlikely to learn if there is not some serious institutional support for this. Of course the odd extraordinary professor will be a regular contributor to open source projects and the like, but all the others will not know what to do.
I think if you are interested to pursue this beyond a simple online discussion, you should start from here. Try to talk your local head of CS department into this kind of stuff, see where can you get from there.