Skip to main content

GitHub glossary

This glossary introduces common Git and GitHub terminology.

In this article

@mention

To notify a person on GitHub by using @ before their username. Users in an organization on GitHub can also be a part of a team that can be mentioned.

access token

A token that is used in place of a password when performing Git operations over HTTPS with Git on the command line or the API. Also called a personal access token.

API preview

A way to try out new APIs and changes to existing API methods before they become part of the official GitHub API.

appliance

A software application combined with just enough operating system (JeOS) to run optimally on industry-standard hardware (typically a server) or in a virtual machine.

assignee

The user that is assigned to an issue.

authentication code

A code you'll supply, in addition to your GitHub password, when signing in with 2FA via the browser. This code is either generated by an application or delivered to your phone via text message. Also called a "2FA authentication code."

base branch

The branch into which changes are combined when you merge a pull request. When you create a pull request, you can change the base branch from the repository's default branch to another branch if required.

basic authentication

A method of authentication where the credentials are sent as unencrypted text.

billing cycle

The interval of time for your specific billing plan.

billing email

The organization email address where GitHub sends receipts, credit card or PayPal charges, and other billing-related communication.

billing manager

The organization member that manages billing settings for an organization.

billing plan

Payment plans for users and organizations that include set features for each type of plan.

bio

The user-generated description found on a profile: Adding a bio to your profile

blame

The "blame" feature in Git describes the last modification to each line of a file, which generally displays the revision, author and time. This is helpful, for example, in tracking down when a feature was added, or which commit led to a particular bug.

block

To remove a user's ability to collaborate on an organization's repositories.

branch

A branch is a parallel version of a repository. It is contained within the repository, but does not affect the primary or main branch allowing you to work freely without disrupting the "live" version. When you've made the changes you want to make, you can merge your branch back into the main branch to publish your changes.

branch restriction

A restriction that repository admins can enable so that only certain users or teams can push or make certain changes to the branch.

Business plan

An organization billing plan where you can collaborate on unlimited public and private repositories, allow or require organization members to authenticate to GitHub using SAML SSO, and provision and deprovision access with SAML or SCIM.

CA certificate

A digital certificate issued by Certificate Authority (CA) that ensures there are valid connections between two machines, such as a user's computer and GitHub.com and verifies the ownership of a site.

card

A movable square within a project board associated with an issue or pull request.

check

A check is a type of status check on GitHub. See Status checks.

checkout

You can use git checkout on the command line to create a new branch, change your current working branch to a different branch, or even to switch to a different version of a file from a different branch with git checkout [branchname] [path to file]. The "checkout" action updates all or part of the working tree with a tree object or blob from the object database, and updates the index and HEAD if the whole working tree is pointing to a new branch.

cherry-picking

To choose a subset of changes from a series of changes (typically commits) and record them as a new series of changes on top of a different codebase. In Git, this is performed by the git cherry-pick command to extract the change introduced by an existing commit on another branch and to record it based on the tip of the current branch as a new commit. For more information, see git-cherry-pick in the Git documentation.

child team

Within nested teams, the subteam that inherits the parent team's access permissions and @mentions.

clean

A working tree is clean if it corresponds to the revision referenced by the current HEAD. Also see dirty.

clone

A clone is a copy of a repository that lives on your computer instead of on a website's server somewhere, or the act of making that copy. When you make a clone, you can edit the files in your preferred editor and use Git to keep track of your changes without having to be online. The repository you cloned is still connected to the remote version so that you can push your local changes to the remote to keep them synced when you're online.

clustering

The ability to run GitHub Enterprise services across multiple nodes and load balance requests between them.

code frequency graph

A repository graph that shows the content additions and deletions for each week in a repository's history.

code of conduct

A document that defines standards for how to engage in a community.

code owner

A person who is designated as an owner of a portion of a repository's code. The code owner is automatically requested for review when someone opens a pull request (not in draft mode) that makes changes to code the code owner owns.

collaborator

A collaborator is a person with read and write access to a repository who has been invited to contribute by the repository owner.

commit

A commit, or "revision", is an individual change to a file (or set of files). When you make a commit to save your work, Git creates a unique ID (a.k.a. the "SHA" or "hash") that allows you to keep record of the specific changes committed along with who made them and when. Commits usually contain a commit message which is a brief description of what changes were made.

commit author

The user who makes the commit.

commit graph

A repository graph that shows all the commits made to a repository in the past year.

commit ID

Also known as SHA. A 40-character checksum hash that identifies the commit.

commit message

Short, descriptive text that accompanies a commit and communicates the change the commit is introducing.

compare branch

The branch you use to create a pull request. This branch is compared to the base branch you choose for the pull request, and the changes are identified. When the pull request is merged, the base branch is updated with the changes from the compare branch. Also known as the "head branch" of the pull request.

continuous integration

Also known as CI. A process that runs automated builds and tests once a person commits a change to a configured repository on GitHub. CI is a common best practice in software development that helps detect errors.

contribution graph

The part of a user's profile that shows their contributions over a period of up to one year, day by day.

contribution guidelines

A document explaining how people should contribute to your project.

contributions

Specific activities on GitHub that will:

contributor

A contributor is someone who does not have collaborator access to a repository but has contributed to a project and had a pull request they opened merged into the repository.

contributors graph

A repository graph that displays the top 100 contributors to a repository.

coupon

A GitHub-provided code that users or organizations can use to pay for all or part of their subscription.

cron

A time-based job scheduler in Unix-like computer operating systems.

cURL

Used in command lines or scripts to transfer data.

dashboard

Your personal dashboard is the main hub of your activity on GitHub. From your personal dashboard, you can keep track of issues and pull requests you're following or working on, navigate to your top repositories and team pages, and learn about recent activity in repositories you're watching or participating in. You can also discover new repositories, which are recommended based on users you're following and repositories you have starred. To only view activity for a specific organization, visit your organization's dashboard. For more information, see Quickstart for your personal dashboard or About your organization dashboard.

default branch

The base branch for new pull requests and code commits in a repository. Each repository has at least one branch, which Git creates when you initialize the repository. The first branch is usually called main, and is often the default branch.

dependency graph

A repository graph that shows the packages and projects that the repository depends on.

dependents graph

A repository graph that shows the packages, projects, and repositories that depend on a public repository.

deploy key

A deploy key is an SSH key that is stored on your server and grants access to a single GitHub repository. This key is attached directly to the repository instead of to a personal user account.

detached HEAD

Git will warn you if you're working on a detached HEAD, which means that Git is not pointing to a branch and that any commits you make will not appear in commit history. For example, when you check out an arbitrary commit that is not the latest commit of any particular branch, you're working on a "detached HEAD."

diagnostics

An overview of a GitHub Enterprise instance's settings and environment.

diff

A diff is the difference in changes between two commits, or saved changes. The diff will visually describe what was added or removed from a file since its last commit.

directory

A folder containing one or more files or folders. You can create directories to organize the contents of a repository.

dirty

A working tree is considered "dirty" if it contains modifications that have not been committed to the current branch.

email notifications

Notifications sent to a user's email address.

enterprise account

Enterprise accounts allow you to centrally manage policy and billing for multiple organizations. Enterprise accounts are available with GitHub Enterprise Cloud and GitHub Enterprise Server. For more information, see About enterprise accounts in the GitHub Enterprise Cloud documentation.

Explorer

An instance of GraphiQL, which is a "graphical interactive in-browser GraphQL IDE."

fast-forward

A fast-forward is a special type of merge where you have a revision and you are "merging" another branch's changes that happen to be a descendant of what you have. In such a case, you do not make a new merge commit but instead just update to this revision. This will happen frequently on a remote-tracking branch of a remote repository.

feature branch

A branch used to experiment with a new feature or fix an issue that is not in production. Also called a topic branch.

fenced code block

An indented block of code you can create with GitHub Flavored Markdown using triple backticks ``` before and after the code block. See this example.

fetch

When you use git fetch, you're adding changes from the remote repository to your local working branch without committing them. Unlike git pull, fetching allows you to review changes before committing them to your local branch.

following (users)

To get notifications about another user's contributions and activity.

force push

A Git push that overwrites the remote repository with local changes without regard for conflicts.

fork

A fork is a personal copy of another user's repository that lives on your account. Forks allow you to freely make changes to a project without affecting the original upstream repository. You can also open a pull request in the upstream repository and keep your fork synced with the latest changes since both repositories are still connected.

Free plan

A user account billing plan that is free. Users can collaborate on unlimited public repositories with unlimited collaborators.

gist

A gist is a shareable file that you can edit, clone, and fork on GitHub. You can make a gist public or secret, although secret gists will be available to anyone with the URL.

Git

Git is an open source program for tracking changes in text files. It was written by the author of the Linux operating system, and is the core technology that GitHub, the social and user interface, is built on top of.

gitfile

A plain .git file, which is always at the root of a working tree and points to the Git directory, which has the entire Git repository and its meta data. You can view this file for your repository on the command line with git rev-parse --git-dir. That is the real repository.

GitHub App

GitHub Apps provide a service to an entire organization and use their own identity when performing their function. They can be installed directly on organizations and user accounts and granted access to specific repositories. They come with granular permissions and built-in webhooks.

GitHub Flavored Markdown

GitHub-specific Markdown used to format prose and code across GitHub. See GitHub Flavored Markdown Spec or Getting started with writing and formatting on GitHub.

GitHub Importer

A tool that quickly imports source code repositories, including commits and revision history, to GitHub for users.

GitHub Jobs

A GitHub site where employers can post jobs that GitHub users may be interested in.

GitHub Marketplace

A subsite for GitHub users and organizations to purchase and install applications that extend and complement their workflow.

GitHub Pages

Also referred to as Pages. A static site hosting service designed to host your personal, organization, or project pages directly from a GitHub repository.

GitHub Wiki

A section for hosting wiki style documentation on a GitHub repository.

GraphQL

A query language for APIs and a runtime for fulfilling those queries with your existing data.

A defined commit of a branch, usually the most recent commit at the tip of the branch.

head branch

The branch whose changes are combined into the base branch when you merge a pull request. Also known as the "compare branch."

Hello, World

A "Hello, World!" program is a computer program that outputs or displays "Hello, World!" to a user. Since this program is usually very simple, it is often used as an example of a programming language's basic syntax and serves as a common first exercise for learning a new programming language.

high-availability

A system or component that is continuously operational for a desirably long length of time.

hook

During the normal execution of several Git commands, call-outs are made to optional scripts that allow a developer to add functionality or checking. Typically, the hooks allow for a command to be pre-verified and potentially aborted, and allow for a post-notification after the operation is done.

hostname

Human-readable nicknames that correspond to the address of a device connected to a network.

identicon

An auto-generated image used as a default profile picture when users sign up for GitHub. Users can replace their identicon with their own profile picture.

identity provider

Also known as an IdP. A trusted provider that lets you use SAML single sign-on (SSO) to access other websites.

instance

An organization's private copy of GitHub contained within a virtual machine that they configure and control.

integration

A third-party application that integrates with GitHub. These are often GitHub Apps, GitHub Actions, or custom actions. For more information, see About building integrations.

issue

Issues are suggested improvements, tasks or questions related to the repository. Issues can be created by anyone (for public repositories), and are mo