Reputation: 381
If we are using GitHub Enterprise inside the company and the Private Mode is enabled, what's different between a public and private repo?
Upvotes: 16
Views: 30028
Reputation: 967
Typically, your Github Enterprise instances are visible to developers within your organization. However, also within your organization, you might want to have a more fine-grained control of who is allowed to see which repository.
Because of that, Github Enterprise knows two visibilities of repositories - private and public.
It's straight forward, as the documentation tells us:
Public repositories are a great choice for getting started! They're visible to any user on your GitHub Enterprise instance, so you can benefit from a collaborative community.
Private repositories require a little more setup. They're only available to you, the repository owner, as well as any collaborators you choose to share with.
Edit for clarification: The Github Enterprise private mode, does regulate access on a different level: it merely defines that the forge itself cannot be accessed without being logged in.
Upvotes: 7
Reputation: 1327184
Since May 23rd, 2019, you also have the internal repository visibility (still in beta)
The internal repository visibility option is available to customers with an Enterprise account.
This new visibility option makes it easier to innersource code and projects to your organization members while restricting access to outside collaborators.
That might be easier to manage than a private repo, where you need to add collaborators: here, every collaborators (to your organization) is already added to an internal repo: the rest of the world is not.
See more at "Creating an internal repository":
You can use internal repositories to practice "innersource" within your enterprise account. Members of organizations in 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 members of the enterprise account have read permissions to the internal repository and can create issues in the repository.
Members of the enterprise account 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.
Upvotes: 2
Reputation: 1
Public Repositories : They're visible to any user on your GitHub Enterprise instance.
Private Repositories : They're only available to the repository owner. You can add collaborators of your choise to share with.
You can keep all the repositories in the your organization's GitHub Enterprise to Private by default with exception to a few repositories which contain sensitive information. This is a good way to keep reusing the code in the same organization. If you have a repository you want made Public instead of Private you can request to your GitHub Enterprise to white-list it.
Upvotes: 0
Reputation: 6344
Private Mode for the GitHub Enterprise instance is a different concept than Public/Private settings for a Repository.
In private mode, GitHub Enterprise requires every user to sign in to access the installation. Anonymous clones over
git://
are disabled and—if built-in authentication is enabled—new users can't sign up and must be invited by an administrator.
So the private mode setting really means that users must log in to access the instance. If your GitHub Enterprise instance is on a public-facing IP, it needs to have private mode enabled.
Public and Private repositories will still affect visibility/access to users that belong to an Organization, Team, or Repository.
Upvotes: 1