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