Reference
Glossary
Plain-language definitions of the terms used throughout GitScope.
- Repository
- A project tracked by Git, including all its files, history, branches, and configuration stored in the .git directory.
- Working directory
- The files you currently see and edit on disk. Also called the working tree.
- Staging area
- Also called the index. A holding area where you assemble exactly what the next commit will contain.
- Commit
- A snapshot of your project at a point in time, plus metadata: author, message, timestamp, and parent commit(s).
- Branch
- A lightweight, movable pointer to a commit. Creating a branch does not copy files.
- HEAD
- A pointer to the commit you currently have checked out — usually via the current branch.
- Detached HEAD
- The state where HEAD points directly at a commit instead of a branch. New commits here belong to no branch.
- Blob
- A Git object storing the content of a single file. Identical content is stored once and reused.
- Tree
- A Git object representing a directory: it maps file names to blobs and subdirectories to other trees.
- Merge commit
- A commit with two or more parents, created when combining divergent branches.
- Fast-forward
- A merge where the branch pointer simply moves forward because there was no divergent work — no merge commit is created.
- Rebase
- Replaying commits onto a new base commit, producing a linear history and new commit hashes.
- Squash
- Combining several commits into one, often when merging a pull request for a clean main history.
- Conflict
- When Git cannot automatically reconcile changes to the same lines from two branches and asks you to resolve them.
- Remote
- A version of the repository hosted elsewhere, such as on GitHub. origin is the conventional default name.
- Remote-tracking branch
- A local reference like origin/main that records where a branch was on the remote at the last fetch.
- Upstream
- The remote branch your local branch is configured to track for push and pull.
- Pull request
- A request to merge one branch into another, with a place for review, discussion, and automated checks.
- Tag
- A fixed pointer to a specific commit, commonly used to mark releases.
- Stash
- A place to temporarily save uncommitted changes so you can return to a clean working tree.
- Index
- Another name for the staging area — the file that records what the next commit will look like.
- DAG
- Directed acyclic graph. Commits form a DAG: each points back to its parents, and there are no cycles.
- Ancestor
- A commit that can be reached by following parent links from a later commit.
- Merge base
- The most recent common ancestor of two branches, used as the reference point for a three-way merge.