reflog command stores information on updates to the tip of the branches in Git, where the normal
git log command shows the ancestry chain from
HEAD, and the
reflog command shows what
HEAD has pointed to in the repository. This is your history in the repository that tells how you have moved between branches, created your commits and resets, and so on. Basically, anything that makes
HEAD point to something new is recorded in the
reflog. This means that by going through
reflog command, you can find lost commits that none of your branches nor other commits point to. This makes the
reflog command a good starting point for trying to find a lost commit.
Again, we'll use the
hello world repository. If you make a fresh clone, make sure to run the scripts for this chapter so that there will be some entries in the
reflog command. The scripts can be found on the book's homepage. If you just reset the
master branch to
origin/master after performing...