This guide will walk you through setting up your GitHub account and getting started with GitHub Enterprise Server's features for collaboration and community.
Part 1: Configuring your GitHub account
The first steps in starting with GitHub Enterprise Server are to access your account, set up two-factor authentication, and view your profile.
Every person who uses GitHub Enterprise Server has their own personal account, which can be part of multiple organizations and teams. Your personal account is your identity on your GitHub Enterprise Server instance and represents you as an individual.
1. Accessing your account
The administrator of your GitHub Enterprise Server instance will notify you about how to authenticate and access your account. The process varies depending on the authentication mode they have configured for the instance.
2. Configuring two-factor authentication
Two-factor authentication, or 2FA, is an extra layer of security used when logging into websites or apps. We strongly urge you to configure 2FA for the safety of your account. For more information, see "About two-factor authentication."
3. Viewing your GitHub profile and contribution graph
Your GitHub profile tells people the story of your work through the repositories and gists you've pinned, the organization memberships you've chosen to publicize, the contributions you've made, and the projects you've created. For more information, see "About your profile" and "Viewing contributions on your profile."
Part 2: Using GitHub Enterprise Server's tools and processes
To best use GitHub Enterprise Server, you'll need to set up Git. Git is responsible for everything GitHub-related that happens locally on your computer. To effectively collaborate on GitHub Enterprise Server, you'll write in issues and pull requests using GitHub Flavored Markdown.
1. Learning Git
GitHub's collaborative approach to development depends on publishing commits from your local repository to GitHub Enterprise Server for other people to view, fetch, and update using Git. For more information about Git, see the "Git Handbook" guide. For more information about how Git is used on GitHub Enterprise Server, see "GitHub flow."
2. Setting up Git
If you plan to use Git locally on your computer, whether through the command line, an IDE or text editor, you will need to install and set up Git. For more information, see "Set up Git."
If you prefer to use a visual interface, you can download and use GitHub Desktop. GitHub Desktop comes packaged with Git, so there is no need to install Git separately. For more information, see "Getting started with GitHub Desktop."
Once you install Git, you can connect to GitHub Enterprise Server repositories from your local computer, whether your own repository or another user's fork. When you connect to a repository on your GitHub Enterprise Server instance from Git, you'll need to authenticate with GitHub Enterprise Server using either HTTPS or SSH. For more information, see "About remote repositories."
3. Choosing how to interact with GitHub Enterprise Server
Everyone has their own unique workflow for interacting with GitHub; the interfaces and methods you use depend on your preference and what works best for your needs.
For more information about how to authenticate to GitHub Enterprise Server with each of these methods, see "About authentication to GitHub."
|Browse to GitHub.com||If you don't need to work with files locally, GitHub Enterprise Server lets you complete most Git-related actions directly in the browser, from creating and forking repositories to editing files and opening pull requests.||This method is useful if you want a visual interface and need to do quick, simple changes that don't require working locally.|
|GitHub Desktop||GitHub Desktop extends and simplifies your GitHub.com workflow, using a visual interface instead of text commands on the command line. For more information on getting started with GitHub Desktop, see "Getting started with GitHub Desktop."||This method is best if you need or want to work with files locally, but prefer using a visual interface to use Git and interact with GitHub Enterprise Server.|
|IDE or text editor||You can set a default text editor like Visual Studio Code to open and edit your files with Git, use extensions, and view the project structure. For more information, see "Associating text editors with Git."||This is convenient if you are working with more complex files and projects and want everything in one place, since text editors or IDEs often allow you to directly access the command line in the editor.|
|Command line, with or without GitHub CLI||For the most granular control and customization of how you use Git and interact with GitHub Enterprise Server, you can use the command line. For more information on using Git commands, see "Git cheatsheet."|
GitHub CLI is a separate command-line tool you can install that brings pull requests, issues, GitHub Actions, and other GitHub features to your terminal, so you can do all your work in one place. For more information, see "About GitHub CLI."
|This is most convenient if you are already working from the command line, allowing you to avoid switching context, or if you are more comfortable using the command line.|
|GitHub Enterprise Server API||GitHub has a REST API and GraphQL API that you can use to interact with GitHub Enterprise Server. For more information, see "About GitHub's APIs."||The GitHub Enterprise Server API would be most helpful if you wanted to automate common tasks, back up your data, or create integrations that extend GitHub.|
4. Writing on GitHub Enterprise Server
To make your communication clear and organized in issues and pull requests, you can use GitHub Flavored Markdown for formatting, which combines an easy-to-read, easy-to-write syntax with some custom functionality. For more information, see "About writing and formatting on GitHub."
You can learn GitHub Flavored Markdown with the "Communicate using Markdown" course on GitHub Skills.
5. Searching on GitHub Enterprise Server
Our integrated search allows you to find what you are looking for among the many repositories, users and lines of code on GitHub Enterprise Server. You can search globally across all of GitHub Enterprise Server or limit your search to a particular repository or organization. For more information about the types of searches you can do on GitHub Enterprise Server, see "About searching on GitHub."
Our search syntax allows you to construct queries using qualifiers to specify what you want to search for. For more information on the search syntax to use in search, see "Searching on GitHub."
6. Managing files on GitHub Enterprise Server
With GitHub Enterprise Server, you can create, edit, move and delete files in your repository or any repository you have write access to. You can also track the history of changes in a file line by line. For more information, see "Managing files."
Part 3: Collaborating on GitHub Enterprise Server
Any number of people can work together in repositories across GitHub Enterprise Server. You can configure settings, create project boards, and manage your notifications to encourage effective collaboration.
1. Working with repositories
Creating a repository
A repository is like a folder for your project. You can have any number of public and private repositories in your personal account. Repositories can contain folders and files, images, videos, spreadsheets, and data sets, as well as the revision history for all files in the repository. For more information, see "About repositories."
When you create a new repository, you should initialize the repository with a README file to let people know about your project. For more information, see "Creating a new repository."
Cloning a repository
You can clone an existing repository from GitHub Enterprise Server to your local computer, making it easier to add or remove files, fix merge conflicts, or make complex commits. Cloning a repository pulls down a full copy of all the repository data that GitHub has at that point in time, including all versions of every file and folder for the project. For more information, see "Cloning a repository."
Forking a repository
A fork is a copy of a repository that you manage, where any changes you make will not affect the original repository unless you submit a pull request to the project owner. Most commonly, forks are used to either propose changes to someone else's project or to use someone else's project as a starting point for your own idea. For more information, see "Working with forks."
2. Importing your projects
If you have existing projects you'd like to move over to GitHub Enterprise Server you can import projects using the GitHub Importer, the command line, or external migration tools. For more information, see "Importing source code."
3. Managing collaborators and permissions
You can collaborate on your project with others using your repository's issues, pull requests, and project boards. You can invite other people to your repository as collaborators from the Collaborators tab in the repository settings. For more information, see "Inviting collaborators to a personal repository."
You are the owner of any repository you create in your personal account and have full control of the repository. Collaborators have write access to your repository, limiting what they have permission to do. For more information, see "Permission levels for a personal account repository."
4. Managing repository settings
As the owner of a repository you can configure several settings, including the repository's visibility, topics, and social media preview. For more information, see "Managing your repository’s settings and features."
5. Setting up your project for healthy contributions
By adding files like contributing guidelines, a code of conduct, and support resources to your repository you can create an environment where it's easier for collaborators to make meaningful, useful contributions. For more information, see "Setting up your project for healthy contributions."
6. Using GitHub Issues and project boards
You can use GitHub Issues to organize your work with issues and pull requests and manage your workflow with project boards. For more information, see "About issues" and "About project boards."
7. Managing notifications
Notifications provide updates about the activity on GitHub you've subscribed to or participated in. If you're no longer interested in a conversation, you can unsubscribe, unwatch, or customize the types of notifications you'll receive in the future. For more information, see "About notifications."
8. Working with GitHub Pages
You can use GitHub Pages to create and host a website directly from a repository on your GitHub Enterprise Server instance. For more information, see "About GitHub Pages."
Part 4: Customizing and automating your work on GitHub Enterprise Server
You can use tools from the GitHub Marketplace, the GitHub Enterprise Server API, and existing GitHub Enterprise Server features to customize and automate your work.
1. Using the GitHub Enterprise Server API
There are two versions of the GitHub Enterprise Server API: the REST API and the GraphQL API. You can use the GitHub Enterprise Server APIs to automate common tasks, back up your data, or create integrations that extend GitHub Enterprise Server. For more information, see "About GitHub's APIs."
2. Building GitHub Actions
With GitHub Actions, you can automate and customize your GitHub Enterprise Server instance's development workflow on GitHub Enterprise Server. You can create your own actions, and use and customize actions shared by the GitHub community. For more information, see "Learn GitHub Actions."
3. Publishing and managing GitHub Packages
GitHub Packages is a software package hosting service that allows you to host your software packages privately or publicly and use packages as dependencies in your projects. For more information, see "Introduction to GitHub Packages."
Part 5: Building securely on GitHub Enterprise Server
GitHub Enterprise Server has a variety of security features that help keep code and secrets secure in repositories. Some features are available for all repositories, while others are only available for public repositories and repositories with a GitHub Advanced Security license. For an overview of GitHub Enterprise Server security features, see "GitHub security features."
1. Securing your repository
As a repository administrator, you can secure your repositories by configuring repository security settings. These include managing access to your repository, setting a security policy, and managing dependencies. For public repositories, and for private repositories owned by organizations where GitHub Advanced Security is enabled, you can also configure code and secret scanning to automatically identify vulnerabilities and ensure tokens and keys are not exposed.
For more information on steps you can take to secure your repositories, see "Securing your repository."
Part 6: Participating in GitHub's community
There are many ways to participate in the GitHub community. You can contribute to open source projects, interact with people in the GitHub Community Support, or learn with GitHub Skills.
1. Contributing to open source projects
Contributing to open source projects on GitHub can be a rewarding way to learn, teach, and build experience in just about any skill you can imagine. For more information, see "How to Contribute to Open Source" in the Open Source Guides.
You can find personalized recommendations for projects and good first issues based on your past contributions, stars, and other activities in Explore.
2. Interacting with GitHub Community Support
You can connect with developers around the world to ask and answer questions, learn, and interact directly with GitHub Enterprise Server staff. To get the conversation started, see "GitHub Community Support."
3. Reading about GitHub Enterprise Server on GitHub Docs
You can read documentation that reflects the features available to you on GitHub Enterprise Server. For more information, see "About versions of GitHub Docs."
4. Learning with GitHub Skills
You can learn new skills by completing fun, realistic projects in your very own GitHub repository with GitHub Skills. Each course is a hands-on lesson created by the GitHub community and taught by a friendly bot.
For more information, see "Git and GitHub learning resources."