GitHub Foundations key terms
GitHub Foundations · Get comfortable with the vocabulary.
- Git
- Related: GitHub, Commit, Branch
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.
- GitHub
- Related: Git, Repository, Pull request
A cloud platform that hosts Git repositories and adds collaboration and automation features such as pull requests, issues, code review, Actions, and access control.
- Repository
- Related: Commit, Clone, README
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.
- Commit
- Related: Branch, Staging area, Commit SHA
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.
- Branch
- Related: Merge conflict, Pull request, Commit
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.
- Remote
- Related: Clone, Fork, Git
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.
- Clone
- Related: Remote, Repository, Fork
Copying a remote repository, including its branches and complete history, onto your own computer so you can work locally and synchronize later.
- Staging area
- Related: Commit, Git
The holding area, also called the index, where you place specific changes so that the next commit records exactly those changes and nothing else.
- Merge conflict
- Related: Branch, Pull request, Commit
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.
- Commit SHA
- Related: Commit, Tag
The long hexadecimal hash Git computes for each commit from its content and metadata; it uniquely identifies that snapshot anywhere in the repository.
- Tag
- Related: Release, Commit SHA
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.
- Release
- Related: Tag, README
A GitHub page that bundles a Git tag with written release notes and optional downloadable files such as compiled binaries or source archives.
- README
- Related: Repository, Release
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.
- Repository visibility
- Related: Fork, Repository
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.
- Template repository
- Related: Repository, README
A repository marked as a template so that others can generate new repositories starting with the same files, folders, and settings.
- .gitignore
- Related: Commit, Repository
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.
- Fork
- Related: Pull request, Clone, Remote
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.
- Pull request
- Related: Code review, Branch, Draft 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.
- Code review
- Related: Pull request, CODEOWNERS, Branch protection rule
The process where collaborators read a pull request's changes and leave line comments, suggestions, or an approval or change request before it merges.
- Draft pull request
- Related: Pull request, Code review
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.
- CODEOWNERS
- Related: Code review, Branch protection rule
A configuration file that maps file paths to users or teams so GitHub automatically requests their review when a pull request touches those paths.
- Branch protection rule
- Related: Pull request, Code review, CODEOWNERS
A repository setting that enforces conditions on a branch, such as required approvals, passing status checks, or a linear history before merges are allowed.
- Discussion
- Related: Issue, Pull request
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.
- GitHub Actions
- Related: Workflow, Runner, Secret
GitHub's automation service that runs workflows triggered by repository events such as pushes, pull requests, schedules, or manual starts.
- Workflow
- Related: GitHub Actions, Runner, Continuous integration
A YAML file stored under .github/workflows that defines when automation runs, which jobs it runs, and the steps each job performs.
- Runner
- Related: Workflow, GitHub Actions
The machine that executes a workflow's jobs; it can be hosted by GitHub or self-hosted on infrastructure that you manage yourself.
- Continuous integration
- Related: Workflow, GitHub Actions
A practice where every push is automatically built and tested so integration problems and regressions are detected quickly instead of at release time.
- Secret
- Related: GitHub Actions, Workflow
An encrypted value stored in repository, organization, or environment settings and passed to workflows at run time without being printed in logs.
- Dependabot
- Related: Pull request, Code scanning
A GitHub feature that monitors a project's dependencies and opens pull requests to upgrade outdated packages or fix known security vulnerabilities.
- Code scanning
- Related: Dependabot, Secret
Automated analysis, often run with GitHub's CodeQL engine, that inspects code for security weaknesses and coding errors and raises alerts in the repository.
- GitHub Pages
- Related: Repository, Workflow
A hosting service that publishes static files straight from a repository as a website, commonly used for project documentation, blogs, and portfolios.
- Issue
- Related: Label, Milestone, Assignee
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.
- Label
- Related: Issue, Milestone
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.
- Milestone
- Related: Issue, Project
A collection of issues and pull requests with an optional due date that measures progress toward a shared goal such as an upcoming release.
- Assignee
- Related: Issue, Pull request
The specific person accountable for moving an issue or pull request forward, shown in the item's sidebar and usable as a filter.
- Project
- Related: Issue, Milestone, Label
GitHub's planning tool that collects issues and pull requests into customizable boards, tables, or roadmaps with fields, saved views, and built-in automation.
- Task list
- Related: Issue, Project
A checklist written inside an issue or pull request body with checkbox syntax, letting contributors tick off sub-tasks as they are completed.
- Issue template
- Related: Issue, Label
A prewritten form or markdown file stored in the repository that prompts people to supply the details needed when they open a new issue.