Git Glossary

Browse 73 git terms defined in plain English, from the cultural dictionary of computing.

73 Git Terms

Branch Strategy
The team-wide approach to organizing source-control branches, including how long branches live, when they are merged, and how releases are cut. Branch strategy...
Cherry-Pick
To select a specific commit from one branch and apply it onto another branch without merging the entire branch history. Beyond Git itself, the term is also...
Codeberg
A community-oriented Git hosting platform built on open source tooling, often positioned as a more independent alternative to commercial developer platforms....
Code Review
Code Review is the systematic examination of source code by one or more developers other than the author, aimed at finding bugs, improving code quality,...
Commit
Commit in version control is a snapshot of all tracked files in a repository at a specific point in time, along with a message describing what changed and why....
Commit Convention
A standardized format for commit messages, such as Conventional Commits, used to make history easier to read and to support automation for changelogs, semantic...
Commit Hash
The unique identifier assigned to a commit in Git, derived from the content and metadata of that commit. Commit hashes are used to trace builds, reproduce...
Commit History
The ordered record of commits that shows how a codebase changed over time, including authorship, messages, and the content of each change. Commit history is...
Commit Hook
A script that runs automatically before or after certain version-control actions such as commit, push, or merge. Commit hooks are commonly used to enforce...
Commit Message
The text attached to a version control commit that summarizes what changed and often why. Good commit messages are a strong cultural norm in healthy...
Commit Squashing
Combining multiple commits into one, often to simplify history before merging a pull request.
Draft PR
A pull request marked as not yet ready for final review or merge, often used to share work in progress, get early feedback, or make progress visible sooner. In...
Feature Branch
A short-lived Git branch created from the main branch to develop a single feature or fix in isolation. Merged back via pull request after code review and CI...
Feature Branch Culture
The habits and norms a team has around developing work in separate feature branches before merging. Feature branch culture influences review timing, merge...
Force Push
To overwrite remote Git history with local history using a forced update, usually after rebasing or rewriting commits. It is powerful and sometimes necessary,...
Fork
Fork in software development is a copy of a repository or codebase that diverges from the original to pursue independent development. On platforms like GitHub,...
Fork Culture
The norms a community has around forking projects, customizing work independently, and handling divergence from an original source. In open-source culture fork...
Ghost Branch
A stale Git branch that still exists on the remote or in local tooling even though nobody is actively using or maintaining it. It often confuses release and...
Git Bisect
A Git command that performs a binary search through commit history to find the exact commit that introduced a bug. You mark a known-good commit and a known-bad...
Git Blame Culture
A team dynamic where version history is used primarily to assign fault instead of understand context and fix problems constructively.
Git Culture
The shared habits, expectations, and arguments a team has around using Git, including branching, rebasing, commit messages, reviews, and release flow. Git...
Git Flow Debate
Arguments over branching models such as Git Flow, trunk-based development, and simpler release strategies.
Git Force Push
A force push in Git, often spoken about with a tone that ranges from routine to taboo depending on the branch and the culture. In engineering slang,...
Git Good
A pun on 'get good' used to tell someone, jokingly or sharply, to improve their Git skills. It usually comes up after merge mistakes, rebasing confusion, or...
Git Gud
A meme-spelling variant of 'Git Good,' used as a joking challenge to improve Git proficiency. It leans more internet-meme than literal instruction.
GitHub Flow
A lightweight Git workflow centered on short-lived branches, pull requests, and frequent deployment from a main branch. In engineering culture, GitHub Flow is...
GitLab Flow
A Git workflow associated with GitLab that blends ideas from feature branching, environment-based branching, and release management. In engineering culture,...
Git LFS
Git Large File Storage, an extension that stores large binaries outside normal Git history while keeping lightweight references in the repo.
GitOps
An operational framework where the desired state of infrastructure is declared in a Git repository, and automated processes continuously reconcile the actual...
Git Protocol
The communication protocol or protocols used by Git to transfer repository data between clients and servers. In practical culture, discussions of the Git...
Git Push and Pray
A joking phrase for pushing code without real confidence and then waiting for CI, deployment, or reality to tell you what happens. In engineering slang, it...
Git Rebase
A Git operation that moves or replays commits from one branch onto another base, creating a linear history without merge commits. Interactive rebase (git...
Git Stash
A Git command that temporarily shelves uncommitted changes (both staged and unstaged) so you can switch branches or pull updates with a clean working...
Gollum Wiki
A simple Git-backed wiki system often used for lightweight documentation and knowledge sharing.
Iceberg Commit
A commit whose visible diff looks small, but whose implications, hidden dependencies, or downstream effects are much larger than they first appear. The term...
LGTM Culture
A review culture where approvals are often reduced to quick 'looks good to me' responses, sometimes efficient and sometimes shallow.
Linus Torvalds
The creator of the Linux kernel and Git, and one of the most influential figures in open source software history. In tech culture his name is associated with...
Looks Good To Me
The full phrase behind the common review shorthand LGTM, meaning the reviewer sees no blocking issues in the proposed change. Depending on team culture, it can...
Merge Conflict
Merge Conflict occurs in version control when two branches have made competing changes to the same lines of a file, or when one branch deletes a file that the...
Merge Conflict Slang
Informal language and shared jokes about conflicting changes colliding during version-control workflows. In engineering slang, merge-conflict talk often...
Merge Hell
A painful state where branches have diverged so much that combining them creates a maze of conflicts, regressions, and uncertainty. It usually reflects large...
Monorepo
A version control strategy where multiple projects, packages, or services are stored in a single repository. Simplifies code sharing, atomic cross-project...
Pre-Commit
A Git hook that runs automatically before a commit is finalized, typically executing linters, formatters, type checkers, or secret scanners to enforce code...
Pre-commit Hook
A Git hook script that runs automatically before a commit is created. Commonly used to run linters, formatters, type checkers, and secret scanners on staged...
PR Merge Strategy
The policy a project uses for integrating pull requests, such as merge commits, squash merges, or rebases, and the reasoning behind when each is appropriate....
Pull Request
A proposal to merge changes from one branch into another, creating a space for code review, discussion, and automated checks. GitHub calls them 'pull...
Push to Main
To send commits directly to the main branch, either by policy, permission, or recklessness, without an intermediate merge flow. In many teams this is normal on...
Rebase
A Git operation (git rebase) that replays the commits from one branch onto a new base commit, rewriting commit hashes to produce a linear history. Interactive...
Rebase and Pray
A joking phrase for rebasing a complex branch with low confidence and hoping the resulting history still behaves correctly. It usually implies hidden conflicts...
Release Branch
A branch reserved for preparing, stabilizing, or maintaining a release line separately from ongoing feature development. In engineering culture, release...
Release Tag
A version tag in version control marking the exact commit associated with a release. In repository practice, release tags make it easy to trace distributed...
Repo
Short for repository. A directory tracked by a version control system (almost always Git) that contains a project's source code, history, branches, and...
Repository
A data structure managed by a version control system that stores a project's complete file history, branches, tags, and metadata. In Git, this is the .git...
Reverted
Rolled back to an earlier state after a change caused trouble or needed to be undone. Teams use it for commits, features, configs, and entire deploys.
Revert Revert
To undo a previous revert, often because the original rollback was premature, incomplete, or later proved unnecessary. The phrase is a familiar sign that...
Revision
A specific, identifiable snapshot of a file or repository at a point in time, typically referenced by a unique identifier such as a commit hash in Git or a...
Semantic Commit
A commit message convention using a structured prefix (feat:, fix:, docs:, refactor:, test:, chore:) to describe the type of change. Enables automated...
Source Control
A system that records changes to files over time so that specific versions can be recalled, compared, merged, and audited. Git is the dominant tool, enabling...
Squash
To combine commits into one, or more generally to eliminate a bug or problem decisively. The Git meaning is precise, while the bug-fixing meaning is looser...
Squash Merge
A merge strategy that combines all commits in a branch or pull request into a single commit before adding it to the target branch. Squash merges are often used...
Stagit
A tiny static Git page generator from the suckless ecosystem that creates simple browsable repository websites without dynamic server-side application logic....
Subcommand
A secondary command that follows the main program name in a CLI invocation, selecting a specific operation. For example, in `git commit`, `commit` is a...
Submodule
A Git feature that embeds one repository inside another as a subdirectory, pinned to a specific commit. The parent repo stores a reference (not a copy) to the...
Subtree
In data structures, any node and all its descendants within a tree. In Git, `git subtree` is an alternative to submodules that merges an external repository's...
Tag
A label or marker attached to an entity for identification or categorization — in HTML, an element like <div>; in Git, a named reference to a specific commit...
Tidy
To clean up code formatting, remove dead code, fix linting violations, or reorganize imports without changing behavior — often done as a separate commit or PR...
Trunk-Based Development
A branching strategy where developers commit directly to the main branch (trunk) or use very short-lived feature branches (< 1 day). Relies on feature flags,...
Trunk-Based Development Culture
A team norm built around integrating changes into the main branch frequently and avoiding long-lived feature branches.
Unified Diff
A diff output format (produced by `diff -u` or `git diff`) that shows changes with surrounding context lines, using `---` and `+++` headers for file names,...
Upstream / Downstream
Upstream and Downstream in software development describe the relationship between original source repositories and their derivatives. Upstream refers to the...
Version Control
The practice and tooling for tracking changes to files over time, enabling developers to revert to previous states, work on parallel branches, and merge...
Version Control Culture
The norms around how a team uses version control, including commit hygiene, branching strategy, review discipline, merge practices, and historical readability....
Version Control System
Software that manages changes to a collection of files by recording each revision as a snapshot or set of diffs, supporting branching, merging, and history...

Related Topics