The quote describes the case where HEAD
points to a branch. Suppose master
points at CommitA
, and dev
points at CommitB
.
Before,
HEAD -> master -> CommitA
after git reset dev
HEAD -> master -> CommitB
after git reset CommitB
HEAD -> master -> CommitB
after git checkout dev
HEAD -> dev -> CommitB
after git checkout CommitB
HEAD -> CommitB
git reset
changes the commit HEAD
recursively points at, from CommitA
to CommitB
. git checkout
changes what HEAD
directly points at, from master
to dev
and from master
to CommitB
.
HEAD
could be detached in the first place,
HEAD -> CommitA
In this case, after git reset dev
HEAD -> CommitB
after git reset CommitB
HEAD -> CommitB
after git checkout dev
HEAD -> dev -> CommitB
after git checkout CommitB
HEAD -> CommitB