Three vocabularies describe the same work: Git's, GitLab's and GitHub's. This page sets them side by side. For definitions rather than translations, use the glossary; for what actually differs beyond names, read GitLab vs GitHub.
Containers and people
Concept
Git
GitLab
GitHub
The versioned files and history
Repository
Project
Repository
Grouping several of them
—
Group, and subgroup (nests)
Organization (does not nest)
Grouping people
—
Group membership
Team (nests)
Your own copy of someone else's
Clone
Clone
Clone
A server-side copy you can push to
—
Fork
Fork
Contributor role
—
Developer
Write
Runs the project's settings
—
Maintainer
Admin
Read-only participant
—
Guest or Reporter
Read
Manages issues without pushing
—
Planner or Reporter
Triage
Owns and can delete
—
Owner
Admin
Tracking work
Concept
Git
GitLab
GitHub
A unit of work
—
Issue
Issue
A named goal with dates
—
Milestone
Milestone
Grouping issues visually
—
Issue board
Projects
A larger container of issues
—
Epic
Parent issue or a Project field
Free-form conversation
—
Issue or wiki
Discussion
Tagging for filtering
—
Label
Label
Repeating time box
—
Iteration
Iteration field on a Project
Proposing and reviewing a change
Concept
Git
GitLab
GitHub
A line of work
Branch
same
same
Proposing to merge it
—
Merge request
Pull request
Not ready yet
—
Draft: title prefix
Draft state
Where the change is going
—
Target branch
Base
What is being proposed
—
Source branch
Compare
The diff view
git diff
Changes tab
Files changed tab
Commit list
git log
Commits tab
Commits tab
Automated results
—
Pipelines tab
Checks tab
Batched review
—
Start a review
Start a review
Blocking verdict
—
Unresolved threads
Request changes
Proposed replacement text
—
Suggestion
Suggested change
Applying it
—
Apply suggestion
Commit suggestion
Required reviewer by path
—
CODEOWNERS
CODEOWNERS
Combining into one commit
—
Squash
Squash and merge
Rules on branches
Concept
Git
GitLab
GitHub
A branch nobody may push to directly
—
Protected branch
Ruleset, or a branch protection rule
Requiring review
—
Approval rules
Require approvals
Requiring green automation
—
Pipelines must succeed
Require status checks
Forbidding history rewriting
—
Force push disabled
Block force pushes
Extra commit content rules
—
Push rules
Rules in a ruleset
Automation
Concept
Git
GitLab
GitHub
The whole automated run
—
Pipeline
Workflow run
Its definition file
—
.gitlab-ci.yml
.github/workflows/*.yml
A phase
—
Stage
Job dependencies (needs)
A unit of work
—
Job
Job
A command inside it
—
A line in script
A step
A reusable piece
—
include, templates
Action
The machine
—
Runner
Runner
Files kept afterwards
—
Artifact
Artifact
A secret for the run
—
CI/CD variable (masked, protected)
Actions secret
Releases
Concept
Git
GitLab
GitHub
A permanent name for a commit
Tag
same
same
The page describing a version
—
Release (Deploy → Releases)
Release (Releases)
Drafting one
—
New release
Draft a new release
Auto-written notes
—
From the attached milestone
Generate release notes
Unfinished version
—
Upcoming release
Pre-release
Credentials
Concept
Git
GitLab
GitHub
A password substitute for HTTPS
—
Personal access token
Personal access token (fine-grained or classic)
Key-based identity
—
SSH key
SSH key
A credential for one project
—
Project access token
Fine-grained token scoped to it, or a GitHub App
A key for one repository, no person
—
Deploy key or deploy token
Deploy key
The automatic token in a run
—
CI_JOB_TOKEN
GITHUB_TOKEN
Writing and editing
Concept
Git
GitLab
GitHub
Editing one file in the browser
—
Edit
Edit (pencil)
A full editor in the browser
—
Web IDE (press .)
github.dev (press .)
A cloud machine that can run code
—
Remote development
Codespaces
A shareable fragment
—
Snippet
Gist
Free-form pages
—
Wiki
Wiki
Published static site
—
GitLab Pages
GitHub Pages
Phrase book
Instructions written for one platform, translated:
Written as
Means on the other
"Open an MR against main"
"Open a pull request with base main"
"Make them a Maintainer" (GitLab)
"Make them an Admin" (GitHub), not "Maintain"
"Give them Write" (GitHub)
"Give them Developer" (GitLab)
"The pipeline is red"
"A check failed"
"Add it to the board"
"Add it to the Project"
"Resolve the threads"
"Resolve the conversations"
"Apply the suggestion"
"Commit the suggestion"
"It is in a subgroup"
No equivalent; it is a repository in the organization
"Set a CI variable"
"Add an Actions secret"
"Draft: in the title"
"Mark it as a draft"
What never changes
Git itself. clone, add, commit, push, pull, fetch, branch, switch, merge, rebase, tag, log, diff, status, restore, reset, revert, stash and reflog behave identically no matter which platform hosts the remote. A remote is a URL; your repository does not know what is at the other end of it.