Office-Ready Git · provided by Tokenova
Git glossary
Every Git word used in this course, in plain English.
Online at https://learn.trytokenova.com/git/glossary/
A
- Alias
A short name for a longer Git command, saved in your config.
git lgis the course's alias forgit log --oneline --graph --decorate --all.- Amend
git commit --amend: replaces your last commit with a new one that keeps its changes, adds anything you've staged since, and takes a new message. The new commit gets a new id.- Annotated tag
A tag stored as its own object, with the tagger's name, a date and a message. Made with
git tag -a; the right kind for releases.
B
- Base branch
The branch a pull request wants to merge into, usually
main.- Bisect
git bisect: a binary search through history. Each good or bad verdict rules out half of the suspect commits.- Blame
git blame <file>: shows, for every line, the commit, author and date that last changed it.- Blob
The object that stores one file's contents, without its name.
- Branch
A movable label that points at one commit. Committing moves the label you're on to the new commit.
C
- Check
An automatic test run on a pull request (for example by GitHub Actions), shown as a green tick or a red cross.
- Cherry-pick
Copy one commit onto the branch you're on: the same change with a new id.
- Clean filter
A program Git runs on a file when you
git addit, changing what gets committed but not your copy on disk. nbstripout is one: it strips notebook outputs.- Clone
Download a complete copy of a repository, with its whole history, and link it to the original as
origin.- Closing keyword
A word such as
Closes,FixesorResolvesbefore an issue number in a PR description. The issue closes when the PR merges into the default branch.- Code review
Reading a teammate's pull request and commenting before it merges: to catch mistakes and share knowledge.
- CODEOWNERS
A file that names who owns which paths. GitHub requests their review automatically on pull requests that touch those paths.
- Commit
A saved snapshot of the whole project, with a message, an author and a date. Made with
git commitfrom whatever is staged.- Commit ID (SHA)
The 40-character fingerprint of a commit, usually shortened to 7 (
a1b2c3d). Change anything in a commit and its ID changes.- Compare branch
The branch with your changes that a pull request proposes to merge (GitHub also calls it the head branch).
- Conflict markers
The
<<<<<<<,=======and>>>>>>>lines Git writes into a conflicted file to show both versions.- CRLF and LF
The invisible characters that end a line: CRLF on Windows, LF on macOS and Linux. Mixing them makes every line look changed.
D
E
F
- Fast-forward
A merge where your branch label simply moves forward to the other branch's tip, because your branch had no new commits. No merge commit is made.
- Fetch
Download new commits from the remote and update the
origin/...bookmarks, without touching your files or branches.- First bad commit
The earliest commit where the problem appears. Its parent is still good.
- Fixup commit
A commit made with
git commit --fixup <id>. Its message starts withfixup!, so--autosquashknows where to fold it in.- Force push
A push that replaces GitHub's branch even though your branch no longer contains its commits. Needed after a rebase or amend of pushed commits.
- Force-with-lease
A force push that goes ahead only if GitHub's branch is still where your last fetch saw it. Otherwise it refuses with (stale info).
- Fork
Your own copy of someone else's repository on GitHub. You push there and open pull requests to the original.
G
- Git
The version-control tool on your computer. It records snapshots of your project and works fully offline.
- Git Bash
The Linux-style terminal that comes with Git for Windows. Open it from the Start menu, not by typing
bashin PowerShell.- git clean
Deletes untracked files (and folders with
-d). Preview with-nfirst: there's no Recycle Bin.- Git Credential Manager
The helper installed with Git for Windows that signs you in to GitHub through your browser and remembers the login securely.
- Git Flow
A branching strategy with long-lived
mainanddevelopbranches, plus feature, release and hotfix branches, for scheduled releases.- Git LFS
Git Large File Storage: an add-on that commits a small pointer file and keeps the big file itself in separate storage on GitHub, with its own quota.
- .gitattributes
A file in the repo that sets per-path rules for Git, such as line endings (
* text=auto), binary files, or LFS tracking. It's shared with everyone who clones.- GitHub
A website that hosts copies of Git repositories and adds teamwork: pull requests, reviews, issues and Actions (automated checks).
- GitHub CLI
gh, GitHub's official command-line tool for pull requests, issues, Actions runs and more. Git itself doesn't need it.- GitHub Flow
A branching strategy with one long-lived
mainand short-lived branches merged through pull requests.- github.dev
VS Code in the browser. Press
.on a GitHub repo page to open it. Handy for reading and small edits; it can't run code.- .gitignore
A file listing patterns of files Git must never pick up, such as
.envordata/*.csv. It only affects untracked files.- Global config
Your own Git settings for every repository, in
C:\Users\<you>\.gitconfig.git config --globalwrites here, and it beats the system file.- Golden rule of rebasing
Don't rebase commits that other people already have. Rebase your own unshared work; merge on shared branches.
H
- HEAD
Git's name for the commit you're on right now, usually the newest commit of your current branch.
HEAD~1is its parent,HEAD~2the one before that.- Hook
A script in
.git\hooksthat Git runs at a set moment, such as before a commit (pre-commit) or before a push (pre-push).- Hotfix
An urgent fix to a released version, usually made on a branch that starts at the release tag (for example
hotfix/1.0.1fromv1.0.0).
I
L
M
- Merge
Combine the work from another branch into the branch you're on.
- Merge base
The most recent commit that two branches share. Git compares both tips against it to work out what each side changed.
- Merge commit
A commit with two parents that joins two lines of work.
- Merge conflict
When both branches changed the same lines, Git pauses the merge and asks you to choose the final content.
N
- Noreply email
A private address GitHub gives you (
…@users.noreply.github.com) to use asuser.email, so your real email stays out of public commits.
O
- Object
One item in Git's database (
.git\objects), named by the fingerprint of its content: a blob, tree, commit or annotated tag.- ORIG_HEAD
Where Git parks the old branch tip before a rebase, reset or merge.
git reset --hard ORIG_HEADundoes the last one.- origin
The default name Git gives the remote you cloned from. At work it's the repository on GitHub.
P
- Packfile
One compressed file in
.git\objects\packthat holds many objects, storing similar versions as differences.- Pager
The one-screen-at-a-time viewer Git uses for long output. Scroll with the arrow keys or Space; press
qto quit.- Parent
The commit that came just before another one. Every commit stores its parent's id, which links commits into a chain (a merge commit has two parents).
- Personal access token (PAT)
A password-like string GitHub creates for scripts and tools. Treat it like a password: never commit it.
- Pickaxe
git log -S "text": finds the commits where that text was added or removed.- pre-commit (framework)
A Python tool that installs shared hooks listed in a committed
.pre-commit-config.yamlfile.- Protected branch
A branch with rules GitHub enforces, such as requiring a pull request and green checks before anything reaches it.
- Prune
Remove
origin/...bookmarks of branches that no longer exist on GitHub (git fetch --prune, or every fetch oncefetch.pruneistrue).- Public repository
A GitHub repo anyone can read. Only you and invited people can push. Private repos are hidden from everyone else.
- Pull
Fetch, then bring the upstream's new commits into your branch: by merging (
--no-rebase) or by rebasing (--rebase). Without either, thepull.rebasesetting decides.- Pull request (PR)
A request on GitHub to merge one branch into another, with the diff, automatic checks, review comments and approvals in one place.
- Push
Upload your commits and move the remote branch forward. Rejected if it would lose commits that are only on the remote.
R
- Rebase
Replay your branch's commits on top of another commit, as copies with new ids. The result is a straight history.
- Rebase and merge
A merge method that copies each commit of the pull request onto the base branch with new ids, without a merge commit.
- Ref
A name that points to a commit, stored as a small file: branches in
.git\refs\heads, tags in.git\refs\tags, andHEAD.- Reflog
Your laptop's log of every place
HEADhas been. Commits no branch points to are kept for at least 30 days, so you can find them here.- Release
A GitHub page built on a tag, with notes and downloadable files. GitHub adds the source code archives automatically.
- Remote
Another copy of the repository that yours can push to and fetch from. Usually GitHub, named
origin.- Remote-tracking branch
A read-only bookmark like
origin/mainthat records where a GitHub branch was at your last fetch, pull or push.- Repository (repo)
A project folder plus its complete history, stored in the hidden
.gitfolder.- Required status check
A check that must pass before a pull request can be merged into a protected branch.
- Reset
Move the current branch to another commit.
--softkeeps the changes staged,--mixed(the default) keeps them unstaged, and--hardthrows them away.- Revert
A new commit that does the opposite of an earlier one. The safe way to undo commits that are already pushed.
- Ruleset
GitHub's newer way to define branch protection rules, with an enforcement status and an optional bypass list.
S
- Semantic versioning
Numbering releases MAJOR.MINOR.PATCH: PATCH for bug fixes, MINOR for new features that break nothing, MAJOR for breaking changes.
- Squash
Combine a commit with the one before it into a single commit.
fixupdoes the same but keeps only the first message.- Squash and merge
A merge method that turns all of a pull request's commits into one new commit on the base branch.
- SSH key
A pair of files that proves who you are without a password: keep the private one on your laptop and give GitHub the public
.pubone.- Staging area
The list of changes you've picked for your next commit (also called the index).
git addputs changes in;git restore --stagedtakes them out.- Stale remote-tracking branch
An
origin/...name for a branch that GitHub has already deleted. It stays in your clone until a fetch prunes it:git fetch --prune(orgit pull --prune), or any fetch oncefetch.pruneis on (a Day 1 course setting).- Stash
A shelf (a stack) where Git keeps uncommitted changes so your working folder is clean.
git stash popbrings the newest back.- Suggested change
A review comment containing replacement code. The author applies it with Commit suggestion, which makes a commit on the PR branch.
- System config
Git settings for every user of the computer, in
C:\Program Files\Git\etc\gitconfig. Installed with Git for Windows.
T
- Tag
A permanent name for one commit, such as
v1.0.0. Unlike a branch, it doesn't move when you commit.- Todo list
The file Git opens during an interactive rebase: one line per commit (
pick <id> <message>), run from top to bottom.- Tracking branch
A local branch linked to a branch on GitHub (its upstream), such as
alex/fix-roundingtrackingorigin/alex/fix-rounding. Plaingit pushandgit pullthen know where to go.- Tree
The object that lists a folder: names and modes, pointing to blobs and to other trees.
- Trunk-based development
A branching strategy where everyone merges small changes into
mainat least daily, hiding unfinished work behind feature flags.
U
- Unpushed commit
A commit that exists only on your laptop, on no remote branch.
git log --branches --not --remoteslists them. If your laptop dies, they're gone.- Untracked file
A file in your folder that Git has never saved.
git statuslists it under Untracked files until you add or ignore it.- Upstream
The remote branch your local branch is linked to (for example
origin/main).git push -usets it;git statuscompares against it.
W
- WIP commit
A work in progress commit that parks unfinished work on its own branch so you can push it for safety. Tidy it up before review (Bonus B1).
- Working folder
The files you see and edit (also called the working tree). Git notices changes here but doesn't save them until you add and commit.
- Worktree
An extra working folder attached to the same repository, with its own checked-out branch.
- WSL
Windows Subsystem for Linux: a separate Linux system inside Windows. On many Windows laptops, typing
bashin PowerShell starts it.