Skip to content
Branching and merging

Starting a branch

Create and switch, in the modern spelling.

git switch -c <name> creates a branch at the current commit and moves onto it. git branch <name> creates without moving, which is occasionally what you want and usually not.

switch and restore were introduced to split the two unrelated jobs checkout had been doing for years. checkout still does both, which is why it is confusing; the newer commands each do one thing.

Switching branches replaces your index and working tree with the target's — unless that would overwrite an uncommitted change, in which case git refuses rather than losing it.

Commands in this lesson

git switch
Move HEAD to another branch, and with -c create it first
git branch
List, create or delete the names that point at commits
No account. Everything you do stays in this browser unless you switch on sync.Part of liter8.sh · v0.5.2 · Report an issue