GitHub FAQ

Yes! Recently changed the way organizations grant permissions to repositories.  Existing repositories, and access to them are unaffected.  However, you will now be able to control repository access yourself on a per-repo basis, create teams, and add/remove members from a team.  You will now need to request membership in the organization, and request the creation of private repositories using the GitHub Service Request form.  

Fill out the GitHub Service Request form with your GitHub username, and a unique name for a repo.  We will create a private repository and transfer administrative control to you.  

There are two ways to do this.  The first is to create a team and associate the repository with that team. When you associate a repo you can define the access privileges. Then all users you add to that team will have the desired access. Please note that users must be a member of the PrincetonUniversity Organization in order to be added to a team. Membership can be requested using the GitHub Service Request form.

The second option is to add each user as a collaborator to the repo. This does not require membership to the Princeton Organization, so you can do it entirely yourself.  See below for instructions. 

You can add collaborators to any repository for which you have administrative privileges.   Go to the repository webpage (<repo_name&gt;) then from the right hand side menu, select settings.  Then choose “Collaborators & teams.”  In the collaborators window type your collaborators github username, then click “add Collaborator.”  Then choose the desired permission level (read/write/admin). 

If you are not the “team maintainer” you cannot add someone to a team.  You will need to add them as an external collaborator, or create a new team yourself (which will automatically make you team maintainer).  As team maintainer, if the user is already part of the Princeton University Organization you can simply add them to the team.  If the user is not already part of the Organization, you will need to request an invitation using the GitHub Service Request form.  Once the user accepts the invitation he/she can be added to the team.

Members of the Princeton University Organization can now create teams themselves.  If you are not a member of the Organization you must first request an invitation here and simply list any invitees Github usernames in the appropriate box. From click on the +NewTeam button.  You can then choose whether to make the team visible to all other members of the Organization. 

To transfer a repository hosted outside of the PrincetonUniversity organization to the organization, you will first need to request the creation of a new blank repository using the GitHub Service Request form.  You will be made an administrator of the new empty repository.  You are then free to import any repository.  

If the existing repository is already on GitHub or publicly available on the web, browse to the blank repository,<new_repo_name&gt;, and click on the "Import Code" button at the bottom in the "...or import code from another repository section." Follow the steps to create a copy of the existing repository into the new repository. Please note that this tool can also be used to import code from other version control systems such as Subversion or Mecurial.

If your existing repository is hosted on a private network, GitHub's import tool will not be able to access it.  In these cases GitHub recommends importing using the command line.