In many courses instructors and students have a need for private repositories. Here are the steps you can follow to obtain access to private repositories on GitHub for your class.
Assumption/Prerequisites:
- you already have a GitHub account (if not, go ahead and create one)
- you have a course website for the course that you want to use the GitHub private repositories for
- you have a valid faculty ID (and a picture of it handy)
Step 1: Create a new organization on GitHub (you must be signed-in)
- click the plus
+
button in the upper right corner and select New organization. - name it what you like (short name for the course, semester, institution, etc., for example: nyu-ossd-s19)
- use the email associated with your GitHub account as the billing address (since you will apply for the educational discount next, you won't get billed)
- select the free plan
- click Create the Organization at the bottom of the page
(Do not add any members to your organization just yet.)
Step 2: Apply for the education discount
- go to the GitHub Education page
- click the Join GitHub Education button in the upper right corner
- (if you submitted any education discount requests before, they will be all listed there)
- in the question "What best describes you?" answer "Teacher"
- answer "Organization" to the question "What kind of GitHub account are you using for education?"
(Note, that selecting "individual" will give your account access to the private repositories - something that might be desirable, but not useful for your students.) - on the next page selecte which organization the discount is for - this should be the organization that you created in the previous step
- answer "Classroom" to the question "Which best describes what this organization will be used for?" (well, unless you are creating it for another purpose)
- on the next page answer the questions (you can estimate the number of required private repositories and round it up - at the time of this writing, GitHub seems to be giving unlimited number of private repositories for these requests)
- on the next page answer the questions and upload the image of your faculty ID
- click "Submit request"
Step 3: Wait patiently for a day or two before your request is approved.
This organization can be used within the web-based GitHub Classroom or you can manage it yourself using your own scripts, for example Teachers Pet (yes, I know that this repository suggests using GitHub Classroom, but I am just attached to the old scripts and the command line way of doing things).
Studetns can also receive access to private repositories while they are in school (so that they do not post solutions to assignments and such in their public repositories) by applying for the Student Developer Pack. This comes with a lot of other tools and goodies.