This version of GitHub Enterprise was discontinued on 2021-09-23. No patch releases will be made, even for critical security issues. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Getting started with your GitHub account

With a user account on GitHub, you can import or create repositories, collaborate with others, and connect with the GitHub community.

This guide will walk you through setting up your GitHub account and getting started with GitHub'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 user account, which can be part of multiple organizations and teams. Your user 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 Enterprise Server profile and contribution graph

Your GitHub Enterprise Server 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 GitHub Enterprise Server repository 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."

MethodDescriptionUse cases
Browse to GitHub.comIf 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 DesktopGitHub 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 editorYou can set a default text editor, like Atom or 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 CLIFor 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 "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 APIGitHub has a REST API and GraphQL API that you can use to interact with GitHub Enterprise Server. For more information, see "Getting started with the API."The GitHub 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 "Communicating using Markdown" course on GitHub Learning Lab.

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 on GitHub."

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 user 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 to GitHub."

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 user 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 user 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 repository settings."

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 Enterprise Server 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 GitHub Enterprise Server repository. 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 API

There are two versions of the GitHub API: the REST API and the GraphQL API. You can use the GitHub 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: 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 Learning Lab.

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 in GitHub Community Support to ask and answer questions, learn, and interact directly with GitHub Enterprise Server staff.

3. Learning with GitHub Learning Lab

You can learn new skills by completing fun, realistic projects in your very own GitHub repository with GitHub Learning Lab. Each course is a hands-on lesson created by the GitHub community and taught by the friendly Learning Lab bot.

For more information, see “Git and GitHub learning resources."