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. For more information, see "GitHub's products."

Note: Internal repositories are currently in beta and subject to change.

In this article

About internal repositories

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. Enterprise members can't edit the repository's code directly, but they can fork the repository and create a pull request from their fork. 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."

When you fork an internal repository, the fork is a private repository. You can only fork an internal repository to a user account, not another organization. You can't invite collaborators to your fork unless they are members of the enterprise account or outside collaborators to the root repository. If you're removed from the enterprise account, your fork will be deleted.

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 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 GitHub Enterprise Cloud 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