git log vs git reflog

git log and git reflog both show history, but they're looking at different things.
git log shows the commit lineage, the history of the project. git reflog shows the movement history of HEAD, a record of your actions. Think of git log as a "table of contents" and git reflog as "a list of every page you opened." Even commits that disappear from git log still live in git reflog.
When you think "I want to undo that," git reflog becomes your last line of defense.
