People with owner or team maintainer roles can manage repository access with teams. Each team can have different repository access permissions.

There are three types of repository permissions available for people or teams collaborating on repositories that belong to an organization:

  • Read
  • Write
  • Admin

In addition, organization members with owner permissions have extensive permissions across all repositories in an organization. For more information, see "Permission levels for an organization".

Repository action Read permissions Write permissions Admin permissions Owner permissions
Pull (read), push (write), and clone (copy) all repositories in the organization X
Promote organization members to team maintainer X
Convert organization members to outside collaborators X
Create repositories (see "Creating repositories" for details) X X X X
Delete repositories (see "Deleting and transferring repositories" for details) X X
Transfer repositories into the organization account (see "Creating repositories" for details) X X
Transfer repositories out of the organization account (see "Deleting and transferring repositories" for details) X X
Change a repository's settings (see "Changing repository settings" for details) X X
Change a repository's visibility X X
Add a repository to a team (see "Adding a repository to a team" for details) X X
Add outside collaborators to a repository X X
Remove outside collaborators from a repository X X
Pull from (read) the team's assigned repositories X X X X
Push to (write) the team's assigned repositories X X X
Fork (copy) the team's assigned repositories X X X X
Send pull requests from forks of the team's assigned repositories X X X X
Merge and close pull requests X X X
Merge pull requests on protected branches, even if there are no approved reviews X X
Submit reviews on pull requests X X X X
Submit reviews that affect a pull request's mergeability X X X
Open issues X X X X
Close, reopen, and assign issues X X X
Close issues they opened themselves X X X X
Apply labels and milestones X X X
Have an issue assigned to them X X X X
Create and edit releases X X X
View draft releases X X X
View published releases X X X X
Edit and delete their own comments on commits, pull requests, and issues X X X X
Edit and delete anyone's comments on commits, pull requests, and issues X X X
Edit wikis X X X X
Create statuses X X X
Manage topics X X
Disable project boards X X X
Create project boards X X X
Limit interactions with a repository X X

Changing repository settings

Repository settings include:

  • Adding, removing, and editing collaborator access
  • Editing the repository's default branch
  • Adding, removing, and editing webhooks and service hooks
  • Adding deploy keys
  • Changing repository visibility
  • Limit interactions with a repository

Warning: When someone adds a deploy key to a repository, any user who has the private key can read from or write to the repository (depending on the key settings), even if they're later removed from the organization.

Adding a repository to a team

Organization owners can add any repository to any team in the organization. Organization members with admin access to a repository can add that repository to any other team they belong to.

Team maintainers

An organization owner can promote any member of the organization to team maintainer for one or more teams. Members with team maintainer permissions can:

For more information, see "Giving team maintainer permissions to an organization member."

Outside collaborators

Repository collaborators can include organization members or outside collaborators. An outside collaborator is a person who has access to one or more organization repositories but is not explicitly a member of the organization, such as a consultant or temporary employee. For more information, see:

Creating repositories

By default, all organization members can create repositories for the organization and transfer repositories into the organization. If you choose, you can restrict repository creation permissions to organization owners only.

Warning: Members of teams that had admin permissions under the legacy organization membership structure are able to create repositories for the organization under improved organization permissions, even if the repository creation setting is not enabled. For more information, see "Migrating your previous admin teams to the improved organization permissions."

  1. In the top right corner of GitHub, click your profile photo, then click Your profile. Profile photo

  2. On the left side of your profile page, under "Organizations", click the icon for your organization. organization icons

  3. Under your organization name, click Settings. Organization settings button

  4. In the left sidebar, click Member privileges. Member privileges option in org settings

  5. Under "Repository creation", deselect Allow members to create repositories for this organization. Checkbox to allow members to create repositories

  6. Click Save.

Deleting and transferring repositories

By default, only organization members with admin privileges to a repository can delete the repository or transfer it out of the organization. If you choose, you can restrict repository deletion and outgoing transfer permissions to organization owners only.

  1. In the top right corner of GitHub, click your profile photo, then click Your profile. Profile photo

  2. On the left side of your profile page, under "Organizations", click the icon for your organization. organization icons

  3. Under your organization name, click Settings. Organization settings button

  4. In the left sidebar, click Member privileges. Member privileges option in org settings

  5. Under "Repository deletion", deselect Allow members to delete or transfer repositories for this organization. Checkbox to allow members to delete repositories

  6. Click Save.

Further reading