I'm teaching a new course at a new University this semester, and I'm really interested in getting my students up and running using Best Practices. In this manner, I'd like to assign and receive homework from them using git repositories. Unfortunately, I use git, but I don't understand it well enough to know what the potential security holes are and how to avoid them. Also, I've only used git for personal version control, and never in a group or team.
My current plan is to set up machine A with users 1-12, corresponding to each of my students. I will generate an ssh public/private key pair for each student, and an initial git repository as well. The students can then access the repository for new assignments and push to it when they are submitting.
Ideally, without too much trouble, I will be able to push from a master repository into the student repositories when I am giving assignments. If it would be possible to pull from their repositories into the master repository that would be neat as well.
Edit: This text was a little unclear. I intend for them to push/pull into their individual repository when they complete an assignment or are given a new one. I don't presume that I'll be able to push assignments into their laptops :)
So where do I start? What do I look out for? Is this a bad idea? If so, why?