Creating an internal repository

You can create an internal repository to collaborate using open source methodologies in your enterprise account without sharing proprietary information publicly.

Internal repositories are available with GitHub Enterprise Cloud and GitHub Enterprise Server 2.20+. For more information, see "GitHub's products."

In this article

About internal repositories

Internal repositories are the default setting for all new repositories created in an organization owned by an enterprise account.

You can use internal repositories to practice "innersource" within your enterprise account. Members of your enterprise account can collaborate using open source methodologies without sharing proprietary information publicly. For more information on innersource, see GitHub's whitepaper "An introduction to innersource."

All enterprise members have read permissions to the internal repository and can create issues in the repository. Internal repositories are not visible to people outside of the enterprise account, including outside collaborators on organization repositories. For more information, see "Roles for an enterprise account", "Repository permission levels for an organization", and "About forks."

If a user is removed from an enterprise account, their forks are removed automatically.

Creating a new internal repository

Anyone with permissions to create repositories in an organization on GitHub Enterprise Cloud or GitHub Enterprise Server 2.20+ can create an internal repository. Owners can restrict repository creation permissions in an organization. For more information, see "Restricting repository creation in your organization."

  1. In the upper-right corner of any page, use the drop-down menu, and select New repository.

    Drop-down with option to create a new repository

  2. Use the "Owner" drop-down, and select the enterprise organization you wish to create the repository on.

    Owner drop-down menu

  3. Type a name for your repository and an optional description.

    Create repository field

  4. To make the repository visible only to members of your enterprise account, select Internal.

    Radio buttons to select internal status

  5. There are a number of optional items you can pre-populate your repository with. If you're importing an existing repository to GitHub, don't choose any of these options, as you may introduce a merge conflict. You can add or create new files using the user interface or choose to add new files using the command line later. For more information, see "Importing a Git repository using the command line," "Adding a file to a repository using the command line," and "Addressing merge conflicts."

    • You can create a README, which is a document describing your project. For more information, see "About READMEs."
    • You can create a .gitignore file, which is a set of ignore rules. For more information, see "Ignoring files."
    • You can choose to add a software license for your project. For more information, see "Licensing a repository."
  6. Optionally, if your organization uses any GitHub Apps from GitHub Marketplace, select any apps you'd like to use in the repository.

    List of your account's GitHub Apps from GitHub Marketplace and option to grant access

  7. When you're finished, click Create repository.

  8. At the bottom of the resulting Quick Setup page, under "Import code from an old repository", you can choose to import a project to your new repository. To do so, click Import code.

Ask a human

Can't find what you're looking for?

Contact us