Branch
Problem
You want to develop a feature without immediately changing the stable version everyone else uses.
Solution — Branch
Create another line of development.
main: A → B ─────→ E
\
feature: C → D
Changes can later be merged.
Core idea: branches allow independent lines of development within the same repository.