I promised that this blog would be a pun-free zone, but I must recommend Terry Pratchett’s The Thief of Time. It’s the last book of the “Death” series. In fact, I recommend starting with Soul Music. Anyways I kept thinking of that creature as I wrote this tip.
So far, my two biggest lightbulb moments have come from learning about `git reflog` and this git visualization tool. Nothing came close to making sense until I combined those two.
Let’s use the visualization tool to practice getting in and out of a detached HEAD state.
First, let’s make a few commits…
Next let’s checkout to the previous commit. Note: it helps to type in the commit id correctly, so ignore the “can’t find commit id”
Notice in the image above indicates that we’re in a detached HEAD state. Previously, I would have panicked because my last commit (the one master is pointing to) wouldn’t show up in the git log. But now because of this visualization tool, I can see that master is still there and that HEAD is just pointing at the previous commit.
To get out of the detached head state, you’ll need to git checkout master. Previously, I would do git checkout commitID-master-is-pointing-to and still be in a detached state, frustrating me to no end.
Now you’ll see that HEAD is pointing to master and we’re no longer in a detached HEAD state.
Tomorrow we’ll go over getting into and out of a detached HEAD state via the command line.