Home
Welcome to Imperial’s GitHub documentation. The information on this site is designed to augment GitHub’s official documentation with Imperial specific best practices and recommendations. It’s not designed to be a step-by-step walkthrough of how to perform specific tasks in GitHub. For this you can use the official documentation.
If you’ve got a particular topic you’d like to see covered or you’ve got a suggestion on how we can improve this documentation, please create a new issue under the repository issues tab. Please note, you’ll need to be a member of the Imperial College London organisation to do this.
What is GitHub
GitHub is a developer platform used by over 100+ million developers and 4+ million organisations to build, scale, and deliver secure software.
It uses the open-source tool Git to provide distributed version control, allowing multiple people to collaborate on code at the same time. It offers both public and private repositories for users to store their code and access GitHub features. Anyone can create an account on GitHub.com free of charge and create repositories under their GitHub account.
Imperial has an enterprise license for GitHub, meaning you can link your Imperial account to access resources in the Imperial College London organisation on GitHub. This is a private space where our staff and students can collaborate on projects.
Imperial has two versions of GitHub Enterprise - GitHub Enterprise Cloud and GitHub Enterprise Server.
GitHub Enterprise Cloud
GitHub Enterprise Cloud (recommended version) is a cloud-based service that sits on top of GitHub.com and provides advanced features for enterprises.
To access the Imperial College London organisation on GitHub.com, you need an Imperial account. If you need to collaborate with users who do not have an Imperial account, you can add them as an outside collaborator to the repository.
On GitHub Enterprise Cloud, users can create public repositories (anyone has read access and can suggest changes), internal repositories (anyone at Imperial has read access and can suggest changes) or private repositories (access must be explicitly granted). More information on repositories can be found on the repositories page.
GitHub Enterprise Server
GitHub Enterprise Server is hosted on-premises and is therefore not accessible on the public internet. All data is stored on-premises and you’ll need an Imperial account to login.
This version of GitHub isn’t highly available, requires regular downtime for maintenance and doesn’t include all the functionality of GitHub Enterprise Cloud. Therefore, we recommend GitHub Enterprise Cloud for the majority of use-cases.
GitHub Enterprise Server should only be used if you cannot store your source code in the cloud, for example, you may have a research grant that stipulates code must be stored on-premises.
FAQ
What does Imperial’s GitHub License include?
Imperial has an enterprise license with GitHub which entitles you to the following:
- Access to GitHub Enterprise Cloud with unlimited public and private repositories.
- Usage of GitHub Actions in private repositories. GitHub Actions is free for public repositories. Please try to avoid using MacOS runners with GitHub Actions as these incur additional costs.
- Usage of GitHub Packages in private repositories. GitHub Packages is free for public repositories.
- Additional security measures for private repositories such as branch protection rules, code owners/reviews and environment protection rules.
- Access to GitHub Enterprise Server, an on-premises version of GitHub that can be used when research grants/contracts stipulate source code must be stored on-premises.
Please note that some of the features above are only applicable to the cloud version of GitHub Enterprise. You can find a full list of the features on the GitHub Pricing webpage.
How do I gain access to GitHub Enterprise Cloud?
- Create an account on GitHub.com if you don’t already have one. We recommend you use your personal email address so you can continue to access the account if you leave Imperial.
- Follow the instructions gaining access to the Imperial College London organisation article. Once you’ve completed these steps, you’ll be added as a member and will have access to all the resources.
How do I gain access to GitHub Enterprise Server?
- Visit the Imperial GitHub organisation and login with your Imperial username and password.
- Once logged in, you can create repositories under your personal account or ask an organisation owner to add you to their organisation. By default, you’ll also be added to the main Imperial College London organisation (this may take 10-20 minutes) where you can create repositories and store your code.
GitHub Enterprise Server should only be used if you cannot store your source code in the cloud, for example, you may have a research grant that stipulates code must be stored on-premises.
What is the difference between GitHub Enterprise Cloud and GitHub Enterprise Server?
GitHub Enterprise Cloud is a cloud-based service from GitHub and is publicly accessible. You can create private repositories within the organisation and explicitly assign permissions to only users who need it. It includes all the functionality of GitHub and is regularly updated with the latest features and bug fixes.
GitHub Enterprise Server is deployed on-premises and is only accessible via the Imperial network. It’s not possible to add outside collaborators to your repositories unless the collaborator has an Imperial account. It doesn’t include all the functionality GitHub offers and requires regular downtime for maintenance. We strongly recommend using GitHub Enterprise Cloud unless you cannot store your source code in the cloud.
What will happen to my GitHub access if I leave Imperial?
If you leave Imperial, your account will be deactivated and you’ll no longer be able to access Imperial’s resources on GitHub. If you need to continue collaborating on a repository within the Imperial College London organisation on GitHub, you’ll need to be added as an outside collaborator.
If you’re using GitHub Enterprise Server, you must transfer any personal repositories to another organisation/user before you leave. If the repository already exists under an organisation, you can add additional users to the repository instead.
Where can I get help with GitHub?
If you need support with GitHub, you can view their support documentation at GitHub Docs.
Ensure you select the version you are using (Enterprise Cloud or Enterprise Server X.XX) in the dropdown on the top left of the screen.
If you have an Imperial-specific GitHub question, you can contact the ICT Service Desk.