Github Setup for Students

Hi Folks,

The people at Guthub were kind enough to provide an organizational account for me and my class, and I have a question about a specific setup. I have 40 students, and I want each one to have a private repository. As such, each student should only have access to their, and only their, respective repository (there’s a public one that all can see). I want to make sure the following is correct:

  • The “Default repository permission” for the organization (under Settings > Member privileges) is set to “None”
  • No students are added to the organization proper
  • Each student is invited to his own private repo
  • I, as an owner, would have full access across the board

This seems right, and I will check with the students to make sure they can see only their repo, but if anyone has any suggestions, they would be appreciated!



I was going to suggest the tool by github that they stopped developing in favour of “classroom”:

Teachers Pet

It allows you to do precisely what you describe regarding creating private repos that only they are you can access. However, when you say [quote=“cajund, post:1, topic:2656”]
No students are added to the organization proper

The private repos will belong to the organisation - so I’m not sure if this solves your problem. You can’t have a private repo that is not part of the Org. I think I just might not understand what you mean by students not being part of the organisation proper.

(for what it’s worth I wish they could continue development of teachers pet - perhaps someone can take it over - classroom doesn’t really replace what it does)


It is possible to add contributors to the organization itself. You can also add people to a private repo. I was concerned about students having access to the organization as a whole would also have the ability to see all of the private repos. But I think I have it set up properly.

Thanks for the reply.

Hi David

I have been teaching with Github organizations for a few months now so I hope by sharing how I’ve used it and how it relates to your setup, you’ll get going on setup easily!

  • “none” is correct. This means that members of the organization can only read, fork the repo & make a PR - they cannot write to that main repo.
  • No students are added to the main org - correct!
  • There is no private repo for the students in that org. If you are part of the organization, anything built under it is accessible by members. So all students with a repo will be able to see each others contributions to their own repo as well as any contributions they make against other repos through PRs or issues.
  • You will have full access to their repos. When you create a new repo in the org, you set the settings for how members see and interact with that repo. You also have read and write-ability for any repos made under your organization.

Hope that helps!


I used GitHub for the first time last semester and I intend to use it again this semester. I teach Java/Web programming for engineering undergraduates at UFRJ, Rio de Janeiro, Brazil.

I posted an english translation of the instructions (modified) at

Hope this will be of some value.


Setting up a GitHub Classroom as described in the videos here covers all of this. No need for more unless you want it. I simply created a classroom with an invite that I put in our course chat room (but could be emailed). I was sure to click “Private” in the assignment starter repo settings. There was no need to add anyone to an organization.

I did add a specific GitHub organization (and therefore Classroom) for each of our school locations (200 students max).