For a more general version of this discussion, check out:
Details
Main talking points
The id of a git commit is a SHA-1 hash that includes its commit message and its parent(s)' id.
Humans don't like to talk about commits in terms of hashes. Fortunately, our robot overlords have given us a set of handles/pointers that make this process much easier.
The HEAD pointer indicates the place in your commit history that you are currently viewing (and possibly editing). Whenever you hear someone talking about navigation or "moving around" in git, they're usually talking about moving this pointer.
Branch pointers define branches! For example: the master branch is defined by the sequence of commits between the location of the "master" branch pointer and the initial commit.
Tags are similar to branch pointers except that they don't move as branches grow. They're usually used to pick out a specific point in your project's history such as: "Release v1.0"
git branch new-branch
On Think Like (a) Git:
Git commands are perfectly happy to use branch pointers, commit hashes, partial commit hashes, tags, relative pointers, etc to go where you need to in your commit history.
You don't need to make a "Save Point" branch, but it's a handy tool to remember where you were.
# Navigate into your git repo
cd ~\your\repos\location
# Pick your favorite commit hash from the log
# and run `git checkout` on the hash.
git log
git checkout <the hash that you picked>
# Now have a look around!
ls
git log
+
= ?