Glossary. Short definitions for the Git terms introduced in the book.
B
- Bundle
Single file containing Git pack data plus ref tips and prerequisite commit IDs. It may be self-contained (no prerequisites) or incremental (requires prerequisite commits in the destination repository).
- Bundle URI
Clone-time mechanism for seeding repository data from a bundle location before normal fetch negotiation continues.
C
- Changed-Path Bloom Filter
Probabilistic filter attached to commit-graph data that helps Git skip commits unlikely to affect a requested path.
- Cherry-Pick
Operation that reapplies the change from an existing commit onto the current
HEADby creating a new commit.
- Commit-Graph
Serialized file that stores commit metadata and parent relationships in a traversal-friendly form.
- Cone Mode
Sparse-checkout mode where users specify directories, and Git expands those into a restricted high-performance pattern set.
- Conflict
Situation where Git cannot automatically combine competing file states and needs you to resolve the result before it can continue.
- Cruft Pack
Separate pack containing unreachable objects so they can be retained and expired more efficiently than as many loose files.
D
- Delta Object
Packed representation stored as a set of instructions relative to another base object.
E
- Enlistment
Scalar's top-level project directory, which usually contains the Git worktree in a
src/subdirectory.
F
- Fast-Forward
Ref update that advances a branch name to a descendant commit without creating a merge commit.
- Fsmonitor
Integration that lets Git learn which paths changed from a filesystem monitor instead of probing every tracked path itself.
G
git backfillCommand that batch-downloads missing blobs for a partial clone ahead of time instead of faulting them in one by one.
git fsckCommand that verifies object connectivity and validity in the repository database.
git gcGit housekeeping command that repacks data, prunes stale state, and updates related repository metadata.
git maintenanceCommand that runs and schedules repository optimization tasks such as commit-graph updates, repacking, loose-object cleanup, and related upkeep.
H
HEADSpecial ref that usually names the current branch, or directly names a commit in detached state.
I
- Index
Serialized staging and path-state structure that defines the next snapshot.
- Index Entry
Per-path record in the index containing staged object identity plus cached filesystem state and flags.
L
- Linked Worktree
Additional working tree attached to the same repository, sharing the common object store while keeping its own checkout state.
- Loose Object
Individual object stored as its own compressed file in the object database.
M
- Merge Base
Best common ancestor Git computes for two or more commits.
- Merge Commit
Commit with two or more parent links, used to join previously separate lines of development.
- Multi-Pack-Index
Repository-level index that lets Git look up objects across multiple packfiles without consulting each pack index independently.
O
- Object ID
Content-derived identifier for a Git object, produced from the object's canonical bytes under the repository's hash format.
P
- Pack Index
Companion file that maps object IDs to locations inside a packfile.
- Packfile
File that stores many Git objects together in compressed form, usually with an accompanying index for random access.
- Partial Clone
Repository mode where Git intentionally omits some objects during transfer and can fetch them later on demand.
- Pathspec
Git path-matching expression used to limit a command to particular files, directories, or patterns.
- Prefetch
Maintenance task that fetches objects into
refs/prefetch/ahead of time so later foreground fetches need less transfer work.
- Promisor Remote
Remote that promises to provide omitted objects later for a partial clone when Git asks for them.
- Protocol v2
Newer Git wire protocol that separates capabilities and commands into a more structured request-response flow.
R
range-diffGit command that compares two commit ranges as patch series, showing how the rewritten series differs from the earlier one.
- Reachability Bitmap
Precomputed set representation that speeds up answering which objects are reachable from selected commits.
- Ref
Durable Git name that stores an object ID, usually the ID of a commit.
- Reflog
Local record of how a ref moved over time on your machine.
- Reftable
Newer Git ref-storage backend that stores refs and reflogs in sorted tables rather than loose files plus
packed-refs.See: Chapter 17: Large Ref Sets: Files, Packed-Refs, Reftable, and
git refs
rerere"Reuse recorded resolution," a Git feature that remembers how you resolved a conflict and can apply the same resolution again later.
- Revision
Expression that Git resolves to one or more commits or objects.
S
- Scalar
Git repository management tool that configures and maintains large repositories using an opinionated bundle of features and defaults.
- Sparse Specification
The set of paths Git currently treats as in-scope for the user's sparse working area.
- Sparse-Checkout
Git feature that limits the tracked files materialized in the working tree to a selected subset.
- Sparse-Index
Sparse-checkout mode that represents out-of-scope regions in the index with directory entries instead of every individual file.
- Split Index
Mode that stores a stable shared index plus a smaller mutable overlay to reduce repeated full-index rewrites.
T
- Tag
Git label for another object, usually a commit; annotated tags are objects, while lightweight tags are plain refs.
U
- Untracked Cache
Index extension that caches directory mtimes so unchanged directories are skipped when looking for untracked files.
W
- Working Tree
Materialized on-disk checkout of tracked paths, plus any other files present there, distinct from the repository's stored objects and metadata.