Skip to content
Version Control Glossary

Version Control Glossary

Git, branch, merge, rebase, GitFlow, SemVer, pull requests, monorepo — version control and collaboration concepts explained.

Pages in this section

Git — Explained with Examples

Git is a distributed version control system that tracks changes to files, enabling collaboration and history management across teams.

✓ Live

Branch — Explained with Examples

Branching creates diverging lines of development, allowing multiple features or fixes to proceed in isolation within the same repository.

✓ Live

Merge — Explained with Examples

Merge combines changes from different branches into a single branch, integrating parallel lines of development in a Git repository.

✓ Live

Rebase — Explained with Examples

Rebase moves commits from one branch to a new base commit, creating a linear project history by replaying changes on top of another branch.

✓ Live

GitFlow — Explained with Examples

GitFlow is a branching model that organizes development with dedicated branches for features, releases, hotfixes, and the main codebase.

✓ Live

GitHub Flow — Explained with Examples

GitHub Flow is a lightweight branching strategy where feature branches are proposed via pull requests and merged directly into main.

✓ Live

Trunk-Based Development — Explained with Examples

Trunk-Based Development uses short-lived feature branches merged frequently into main, minimizing branching complexity and merge overhead.

✓ Live

SemVer — Explained with Examples

SemVer (Semantic Versioning) is a versioning scheme using MAJOR.MINOR.PATCH numbers to communicate compatibility changes in software releases.

✓ Live

Cherry Pick — Explained with Examples

Cherry pick applies specific commits from one branch to another, allowing selective porting of changes without merging entire branches.

✓ Live

Git Stash — Explained with Examples

Git stash temporarily saves uncommitted changes so you can switch branches without committing unfinished work, then reapplies them later.

✓ Live

Conflict Resolution — Explained with Examples

Conflict resolution handles competing changes from different branches that Git cannot automatically merge, requiring manual intervention to reconcile.

✓ Live

Fork — Explained with Examples

A fork copies a repository to another account, enabling independent development and contributions back via pull requests without affecting the original.

✓ Live

Pull Request — Explained with Examples

A pull request proposes changes from one branch to another, enabling code review, discussion, and automated checks before merging.

✓ Live

Monorepo — Explained with Examples

A monorepo is a single repository containing multiple distinct projects or packages, sharing tooling and versioning under one roof.

✓ Live