Getting started with GitHub Enterprise
Here, you’ll find everything you need to know about using GitHub Enterprise—from improving software development practices to ensuring a smooth rollout for everyone in your organization. Let’s get started.
In this guide
Install and start using GitHub Enterprise—on-premises Enterprise Server, Enterprise Cloud, or both
Set and achieve onboarding goals for your team’s first 30 days to three months
Work through (and prepare for) common first-time user challenges
Pro tips
To help everyone quickly adopt GitHub Enterprise, identify a group of “GitHub champions” across your organization who will encourage other team members to get started right away. The faster your team uses GitHub, the faster you can ship.
Check out the GitHub Glossary for more about Git and GitHub-specific terms we use across our sites and documentation.
Part one: Installing GitHub
Correct installation and set up are the first steps towards making sure your organization can use GitHub effectively. We’ll walk through the installation basics, plus how to verify your account(s), configure your security settings, and get your teams ready to build.
Setting up GitHub Enterprise
To get started with GitHub Enterprise Server, you’ll need to install your organization’s instance on a virtualization platform of your choice. Using Enterprise Cloud? Log in to your Enterprise Cloud organization on GitHub.com, then jump down to step seven.
Read more about provisioning and installation.
Using the Management Console
The Management Console will help you with day-to-day administrative tasks. Use the Management Console to guide you through initial setup, configure settings for your instance, schedule maintenance, and more.
Read more about web-based management console.
Authenticating users for your GitHub Enterprise instance
Choose your authentication method: Enterprise Server’s built-in authentication or pre-existing LDAP, SAML, or CAS. Not sure which method is right for your team? You’ll be able to switch at any time.
Read more about authenticating users for your GitHub Enterprise instance.
Configuring for high availability
Give yourself maximum potential uptime. Configuring your Enterprise Server instance for high availability makes sure that any hardware failures or major network outages don't disrupt service.
Read more about high availability configuration.
Designating backups and disaster recovery
As an extra layer of protection, set up GitHub Enterprise Server Backup Utilities. You’ll be able to backup your Enterprise Server instance on a Linux or Unix host system—ideally in a different geographical location.
Read more about backups and disaster recovery.
Using geo-replication
If your organization has offices in multiple locations, geo-replication on GitHub Enterprise Server can help reduce latency between different hosts and locations—getting your teams the data they need, quickly. To use geo-replication, you’ll also need to use geolocation-aware DNS.
Read more about geo-replication.
Confirming your Git and GitHub accounts
Depending on whether you’re using Enterprise Server or Enterprise Cloud, go ahead and sign in and verify your primary email address, or configure your instance to send email notifications on issue, pull request, and commit comments.
Read more about Git and GitHub setup.
Connecting GitHub with SSH
You can use GitHub without having to supply your username and password each time. Use the SSH protocol to add a new SSH key to your GitHub account and configure an authentication agent.
Read more about connecting to GitHub with SSH.
Part two: Managing your team
Working together helps teams build and ship better software, faster. But successful collaboration relies on a few important factors: communication, contribution, and administration. GitHub Enterprise gives you the tools to manage them all in the way that works best for your organization.
Organizing people for successful collaboration
Your GitHub hierarchy is made up of individual users, organizations, and teams. Each play a role in how your developers collaborate and communicate on GitHub.
Start by grouping individual users within your organization into GitHub teams. Not sure where to begin? Create teams that reflect your current organizational structure or working groups. Then decide which GitHub repositories your teams will have access to. Repositories are where your teams will perform code reviews, give feedback on each other’s progress, and discuss ongoing work.
We know that teams change roles and take on new projects all the time. You can create new teams and manage repository permissions whenever you need to.
Read more about teams and repositories.
Gaining team insights
Team insights help you understand what’s happening within your organization and why. On Enterprise Server or Enterprise Cloud, you can see a summary of all repository activity through Pulse using the Insights tab. Pulse shows how often your teams are closing issues, merging pull requests, and completing work—making it easy to identify patterns (or potential problems) in your workflow.
If you’re using Enterprise Server, you can also check out your Activity dashboard to see weekly, monthly, and yearly graphs on the number of new pull requests, merged pull requests, new issues, closed issues, and more.
Read more about the activity dashboard.
Getting to know admin tools
Using multiple GitHub products? Oversee all of your GitHub accounts with unified business identity, a feature of GitHub Connect. In a single interface, admins can manage overall billing, licensing, permissions, and enforce business policies—whether your organization deploys on your own server or the cloud.
You’ll find unified business identity under your account’s organization settings. Here, you can also manage user access, authentication, and other organization details.
Read more about business policy enforcement and role-based permissions.
Finding support and training help
Onboarding a new software platform is exciting—and we want you to be able to start building together from day one. Have a question that isn’t answered here? Get in touch with the GitHub Support Team. Depending on your GitHub plan, you can also contact Premium Support for on-demand help outside of typical business hours.
Read more about Enterprise Support and Premium Support.
Looking for additional training? The GitHub Professional Services Team can connect you with the skills your organization needs to work smarter. And if you’re looking for employee education at scale, our friendly GitHub Learning Lab bot helps developers learn and apply new skills through short, hands-on projects.
Read more about Professional Services and Learning Lab for Organizations.
Part three: Building securely
Security is a team effort, from the first line of code to shipping a new application. You can easily customize your GitHub Enterprise instance to fit your organization’s compliance standards—without compromising innovation. Set your team up to build security-first with unique permission levels, audit logs, built-in features, and more.
Setting up secure workflows
After you invite your team to collaborate as an organization, it’s time to decide who will own and help manage your organization’s account. Set permission levels for your organization based on administrative access, billing needs, and the different GitHubs Apps you plan to use. You can also add temporary employees as outside collaborators.
Read more about permission levels for your organization and repositories owned by user accounts.
Next, protect your work. Use protected branches to ensure that no one can make irrevocable changes to a repository—meaning they won’t be able to merge branches or pull requests without passing certain security checks. These checks include required status checks, which all code must pass before it can be merged into a protected branch. You can set up branch protections, required status checks, and branch restrictions in your organization’s settings.
Read more about protected branches, required status checks, and branch restrictions.
Staying in compliance
Required status checks can also help your team stick to and enforce your organization’s compliance standards. Use these checks and others to automate your compliance workflows, verify commits before they’re accepted, and make sure your team builds using repeatable, trackable processes. Your organization’s audit log makes it easy to review your team’s work, too. Find out who performed an action, what the action was, and when it was performed.
Read more about reviewing the audit log for your organization, commit verifications, and pre-receive hooks.
Using Enterprise Cloud? GitHub has SOC for Service Organizations reports, and Enterprise Cloud is compliant with AICPA Service Organization Controls (SOC) 2 Type 1 and SOC 1 Type 1. Enterprise Cloud is also authorized via the FedRAMP Tailored baseline of security controls.
Read more about SOC reports and FedRAMP authorization.
Using secure development features
Build securely with GitHub’s built-in secure development features, like security alerts for vulnerabilities, token scanning, and the GitHub Security Advisory API. Get notified if any of your projects have a dependency with a known vulnerability, including suggested fixes from the GitHub community. Token scanning also ensures that your tokens and keys are never accidentally committed and exposed in a public repository, while the GitHub Security Advisory API integrates the latest GitHub security updates into your own projects.
Read more about security alerts for vulnerabilities, token scanning, and the Security Advisory API.
Part four: Working together
With GitHub Enterprise, your team can work together on projects from anywhere. Features like issues, branches, commits, and pull requests make it possible to discuss and review code—no matter where you are. Plus, you can manage projects and releases right inside GitHub, without using outside project management tools.
Understanding the GitHub Flow
The GitHub Flow is a lightweight, branch-based workflow that helps you make changes and deploy code quickly. Using branches, commits, and pull requests, you can suggest changes to your code, ask for feedback, leave comments, and review changes before they’re accepted. Think something needs a second look? Tag your team account or individual users anytime, and they’ll get an instant notification.
Read more about the GitHub Flow, mentioning users and teams, and code review.
Reviewing and discussing work
Along with branches, commits, and pull requests, issues also help you track and manage work on GitHub. Create a new issue, pin important issues to the top of your projects, or collaborate using issues that have already been opened by your team. Issues (and pull requests) add up fast, so be sure to use unique labels to categorize and prioritize your work.
Read more about issues and adding labels to issues and pull requests.
Planning and tracking work
Project managers and developers can coordinate, track, and update their work—all in the same place. Create project boards on GitHub with associated issues, pull requests, and notes, then use milestones to track your progress toward team goals. Once your project is ready for the world to see, package up your software, release notes, and links to binary files in a single release.
Read more about project boards, milestones, and releases.
Part five: Integrating with GitHub
Chances are, your team already knows and loves GitHub, but there are other tools we know you rely on to build every day too. Whether you’re integrating legacy solutions or discovering new applications in GitHub Marketplace, it’s easy to find and connect with the tools your teams need to build at their best.
Automating with GitHub Actions
Can’t find the tool your team needs for a certain task? You don’t have to build your own app. Instead, use GitHub Actions: automated workflows that run on the GitHub platform. Actions are triggered by specific events, like a push, issue, or release. Once you've created an action, you can even make it available in GitHub Marketplace for others to use.
Read more about GitHub Actions and start creating your first Action.
Integrating apps with GitHub
GitHub integrates with over 1,000 third-party applications, including top industry tools like CircleCI, Jenkins, Jira, and ZenHub. Build with the tools your team already relies on, or discover something new without setting up multiple accounts or payment methods. Install apps in seconds on an organization or user account, then give them access to the repositories of your choice.
Read more about tools that integrate with GitHub and pre-built integrations.
Using the GitHub API
Create your own tools using the same API that we use to build GitHub. Set up your individual GitHub App with built-in webhooks, run checks against code changes, and develop all kinds of integrations using the full suite of GitHub APIs.
Read more about GitHub Apps, the GraphQL API, Checks API, Deployments API, and webhooks.
Part six: Contributing to open source
Open source software is everywhere. It powers more than 50 percent of all software today, including the applications and languages your teams already use. And getting involved in open source is easier than ever: your GitHub Enterprise instance automatically connects your team with innovative open source projects and top talent on GitHub.com. Learn how to find and use open source code, share projects with the world, and get the most that the GitHub open source community has to offer—all behind the safety of your firewall.
Contributing to open source
Organizations of all sizes are contributing to open source. Whether you’re using Enterprise Server or Enterprise Cloud, you can search for code, issues, and more from millions of open source projects alongside your private projects using GitHub Connect and unified search.
Read more about unified search, open source guides, and open source organizations.
Connecting with the GitHub community
Over 30 million developers use GitHub—but it’s easy to find your place and stay connected. Use GitHub Explore as your guide to finding your next project, catching up with what's trending, and checking out what’s new in the GitHub community.
Learn more about GitHub Explore.
Managing users
Your GitHub experience is just that: yours. Add an avatar and share your personal interests on your user profile to connect with other like-minded people on GitHub. Your teams at work can share their projects with the rest of the GitHub community too. Unified contributions, another GitHub Connect feature, allows developers to connect their open source and Enterprise profiles. With unified contributions, your team can share public and private projects they’ve worked on and get the recognition they deserve.
Read more about user profiles, unified contributions, and contribution graphs.
Part seven: Getting support
Congrats, you’re officially ready to start building on GitHub! 🎉 Before you kick off your first project, check out our top tools and resources for updates, support, and some extra inspiration. Have questions or need help? Here are all the places you can find us.
Staying connected with GitHub
Looking for the latest GitHub releases or want to know what’s happening in the GitHub universe? Find out what’s new on the general GitHub Blog or GitHub Engineering Blog, as well as our social media channels. For helpful tools and tricks on using GitHub at work, we’ve put together free ebooks, webinars, checklists, and more on the GitHub Resources hub.
Check out the GitHub Blog, GitHub Changelog, GitHub Engineering Blog, GitHub Resources, and find GitHub on Twitter and YouTube.
Educating your team with GitHub Learning Lab
Teach your team how to use GitHub—without leaving the platform. GitHub Learning Lab helps your developers level up their skills with the help of our friendly Learning Lab bot. Build customized, private courses, improve productivity, and give everyone on your team the tools they need to build better software.
Read more about Learning Lab.
Getting help and technical training from GitHub experts
Need more hands-on training? Our Professional Services Team offers both engineering consultations and in-person classes taught by GitHub experts. We’ll guide you through every stage of your organization’s GitHub journey, from initial setup to using the GitHub API.
Read more about Professional Services.
Using the GitHub Enterprise Support portal
Search for documentation or open a support ticket with our technical engineers anytime. Depending on whether you use Enterprise Server or Enterprise Cloud, you can open a support ticket through either the GitHub Enterprise Server Management Console or the Enterprise Support portal.
Read more about GitHub Enterprise Support.