Skip to main content

Setting repository visibility

You can choose who can view your repository.

About repository visibility changes

Note

If you can't change a repository's visibility, the organization owner may have restricted the ability to change repository visibility to organization owners only. For more information, see Restricting repository visibility changes in your organization.

We recommend reviewing the following caveats before you change the visibility of a repository.

Warning

Changes to the visibility of a large repository or repository network may affect data integrity. Visibility changes can also have unintended effects on forks. GitHub recommends the following before changing the visibility of a repository network.

  • Wait for a period of reduced activity on your GitHub Enterprise Server instance.
  • Contact your site administrator before proceeding. Your site administrator can contact us for further assistance by visiting GitHub Enterprise Support.

Making a repository private

Making a repository internal

Making a repository public

Consequences of changing a repository's visibility

Caution

Before you change your repository's visibility, understand the consequences of this change.

Changing from public to private

  • Stars and watchers for this repository will be permanently erased, which will affect repository rankings.
  • Custom Dependabot alert rules will be disabled unless GitHub Advanced Security is enabled for this repository. Dependency graph and Dependabot alerts will remain enabled with permission to perform read-only analysis on this repository.
  • Code scanning will become unavailable.
  • Current forks will remain public and will be detached from this repository.

Changing from private to public

  • The code will be visible to everyone who can visit your GitHub Enterprise Server instance.
  • Anyone can fork your repository.
  • All push rulesets will be disabled.
  • Your changes will be published as activity.
  • Actions history and logs will be visible to everyone.
  • Stars and watchers for this repository will be permanently erased.

Changing from private to internal

  • All members of the enterprise will be given read access.
  • Outside collaborators can no longer be added to forks unless they're added to the root.
  • Stars and watchers for this repository will be permanently erased.

Changing from internal to private

  • Stars and watchers for this repository will be permanently erased, which will affect repository rankings.
  • Custom Dependabot alert rules will be disabled unless GitHub Advanced Security is enabled for this repository. Dependency graph and Dependabot alerts will remain enabled with permission to perform read-only analysis on this repository.
  • Code scanning will become unavailable.
  • Current forks will remain public and will be detached from this repository.

Changing from internal to public

  • The code will be visible to everyone who can visit your GitHub Enterprise Server instance.
  • Anyone can fork your repository.
  • All push rulesets will be disabled.
  • Your changes will be published as activity.
  • Actions history and logs will be visible to everyone.
  • Stars and watchers for this repository will be permanently erased.

Changing from public to internal

  • All members of the enterprise will be given read access.
  • Outside collaborators can no longer be added to forks unless they're added to the root.
  • Stars and watchers for this repository will be permanently erased.

Changing a repository's visibility

  1. On GitHub, navigate to the main page of the repository.

  2. Under your repository name, click Settings. If you cannot see the "Settings" tab, select the dropdown menu, then click Settings.

    Screenshot of a repository header showing the tabs. The "Settings" tab is highlighted by a dark orange outline.

  3. In the "Danger Zone" section, to the right of to "Change repository visibility", click Change visibility.

  4. Select a visibility.

  5. To verify that you're changing the correct repository's visibility, type the name of the repository you want to change the visibility of.

  6. Click I understand, change repository visibility.

Further reading