I love your optimism, but it wasn't anything that wonderful.
It forces the students to be consistent. That's all. However, that's huge by itself.
Very few of them understood the larger purpose of version control. Almost all of them simply viewed it as a robust, reliable homework submission system (too many professors had Blackboard(tm) things that sucked giant hairy donkey balls). And since I had automated tests running, they could get feedback instantly for almost a full two weeks as to whether they were passing or not.
And that view as a submission system was sufficient. A couple students started figuring out merging. A couple tied themselves into knots or lost files and I had to help them out of the morass. That was fine, too.
As for collaboration, I almost never allow group projects because I can't control the team dynamics of them like a real manager would control team dynamics.
The only time I give a "group" assignment is when it is "the class" vs "me". One class wanted extra credit. "Fine. Here is the code I use to run automated tests against the code you all submit. Contribute some tests. Tests have to pass on correct code and fail on bad code. Whoever submits a correct test gets a point (limit 10) and the class overall gets 1/10 of a point."
Not a single point given. And a couple students learned that validating that your code is correct is MUCH more difficult than simply writing the code to the specification that the professor gave you...