There are many things to balance here, and the "best" solution is somewhat subjective.
However, in my opinion, the educational benefit of allowing students to learn version control early far outweigh the increased risk of exposing their code to others who would cheat. If your students are planning to go on to work as programmers in industry, being skilled with version control is almost as valuable as being skilled with coding. Programming is not a solitary task these days, after all.
Another thing to consider: at my undergraduate university, there was no department-wide policy on public version control (and I don't remember any professors having such a policy). However, I remember hearing it suggested that posting code on a public GitHub violated the general policy against plagiarism. This sort of ambiguity is bad for everyone. Whatever you decide is the right way to go, I would recommend stating your expectations explicitly with respect to public version control.