GitHub Foundations study materials
GitHub Foundations study resources

GitHub Foundations key terms

GitHub Foundations · Get comfortable with the vocabulary.

Git

A free, open-source distributed version control system that records snapshots of a project's files over time so you can review, compare, and undo changes.

Related: GitHub, Commit, Branch
GitHub

A cloud platform that hosts Git repositories and adds collaboration and automation features such as pull requests, issues, code review, Actions, and access control.

Related: Git, Repository, Pull request
Repository

A project's home on GitHub containing its files, the complete history of every commit, and settings; it also gathers issues, pull requests, and other collaboration data.

Related: Commit, Clone, README
Commit

A saved snapshot of the changes you staged, stored with a message, author, timestamp, and unique hash, and linked to the commit that came before it.

Related: Branch, Staging area, Commit SHA
Branch

A lightweight movable pointer to a line of commits that lets you work on a feature or fix separately and later combine it with other work.

Related: Merge conflict, Pull request, Commit
Remote

A named bookmark for another copy of a repository, usually hosted on GitHub, that you fetch from to get others' work and push to share your own.

Related: Clone, Fork, Git
Clone

Copying a remote repository, including its branches and complete history, onto your own computer so you can work locally and synchronize later.

Related: Remote, Repository, Fork
Staging area

The holding area, also called the index, where you place specific changes so that the next commit records exactly those changes and nothing else.

Related: Commit, Git
Merge conflict

A state Git reports when two branches change the same lines of a file, or one deletes a file the other edits, so a person must choose the final content.

Related: Branch, Pull request, Commit
Commit SHA

The long hexadecimal hash Git computes for each commit from its content and metadata; it uniquely identifies that snapshot anywhere in the repository.

Related: Commit, Tag
Tag

A named reference pointing at one specific commit, conventionally used to mark release points such as v1.4.0 so they are easy to find later.

Related: Release, Commit SHA
Release

A GitHub page that bundles a Git tag with written release notes and optional downloadable files such as compiled binaries or source archives.

Related: Tag, README
README

A markdown file, usually named README.md, displayed automatically on the repository's main page to explain what the project is and how to use it.

Related: Repository, Release
Repository visibility

A setting controlling who can see a repository: public repositories are visible to everyone, while private ones are visible only to the owner and invited collaborators.

Related: Fork, Repository
Template repository

A repository marked as a template so that others can generate new repositories starting with the same files, folders, and settings.

Related: Repository, README
.gitignore

A text file, usually at the repository root, listing patterns for files Git should skip, such as build output, dependency folders, and local environment files.

Related: Commit, Repository
Fork

A personal copy of another person's repository created under your own account, which lets you propose changes without having write access to the original.

Related: Pull request, Clone, Remote
Pull request

A request to merge changes from one branch into another that shows the diff, hosts review comments, and runs automated checks before merging.

Related: Code review, Branch, Draft pull request
Code review

The process where collaborators read a pull request's changes and leave line comments, suggestions, or an approval or change request before it merges.

Related: Pull request, CODEOWNERS, Branch protection rule
Draft pull request

A pull request opened in draft state that is clearly marked as not ready for review and cannot be merged until its author marks it ready.

Related: Pull request, Code review
CODEOWNERS

A configuration file that maps file paths to users or teams so GitHub automatically requests their review when a pull request touches those paths.

Related: Code review, Branch protection rule
Branch protection rule

A repository setting that enforces conditions on a branch, such as required approvals, passing status checks, or a linear history before merges are allowed.

Related: Pull request, Code review, CODEOWNERS
Discussion

A forum-style conversation area in a repository for open-ended questions, ideas, and announcements that are not tied to a specific issue or pull request.

Related: Issue, Pull request
GitHub Actions

GitHub's automation service that runs workflows triggered by repository events such as pushes, pull requests, schedules, or manual starts.

Related: Workflow, Runner, Secret
Workflow

A YAML file stored under .github/workflows that defines when automation runs, which jobs it runs, and the steps each job performs.

Related: GitHub Actions, Runner, Continuous integration
Runner

The machine that executes a workflow's jobs; it can be hosted by GitHub or self-hosted on infrastructure that you manage yourself.

Related: Workflow, GitHub Actions
Continuous integration

A practice where every push is automatically built and tested so integration problems and regressions are detected quickly instead of at release time.

Related: Workflow, GitHub Actions
Secret

An encrypted value stored in repository, organization, or environment settings and passed to workflows at run time without being printed in logs.

Related: GitHub Actions, Workflow
Dependabot

A GitHub feature that monitors a project's dependencies and opens pull requests to upgrade outdated packages or fix known security vulnerabilities.

Related: Pull request, Code scanning
Code scanning

Automated analysis, often run with GitHub's CodeQL engine, that inspects code for security weaknesses and coding errors and raises alerts in the repository.

Related: Dependabot, Secret
GitHub Pages

A hosting service that publishes static files straight from a repository as a website, commonly used for project documentation, blogs, and portfolios.

Related: Repository, Workflow
Issue

A trackable item in a repository used to report bugs, request features, or record tasks, with a title, description, comments, labels, and an open or closed state.

Related: Label, Milestone, Assignee
Label

A colored, named tag attached to issues and pull requests to group them by type, priority, or status, such as bug, enhancement, or help wanted.

Related: Issue, Milestone
Milestone

A collection of issues and pull requests with an optional due date that measures progress toward a shared goal such as an upcoming release.

Related: Issue, Project
Assignee

The specific person accountable for moving an issue or pull request forward, shown in the item's sidebar and usable as a filter.

Related: Issue, Pull request
Project

GitHub's planning tool that collects issues and pull requests into customizable boards, tables, or roadmaps with fields, saved views, and built-in automation.

Related: Issue, Milestone, Label
Task list

A checklist written inside an issue or pull request body with checkbox syntax, letting contributors tick off sub-tasks as they are completed.

Related: Issue, Project
Issue template

A prewritten form or markdown file stored in the repository that prompts people to supply the details needed when they open a new issue.

Related: Issue, Label