Using Git internals is exceptionally inconvenient. We had to copy/paste and use the cat-file command 3 times!
I would not recommend doing it that way, but I wanted to drive home the point that you can always drop down to the plumbing commands if needed.
Luckily, there is a better way. The git merge command actually takes a "commitish" as an argument:
git merge <commitish>
A "commitish" is something that looks like a commit (branch, tag, commit, HEAD@{1})
In other words instead of:
git reflog # find the commit sha at HEAD@{1}
git cat-file -p <commit sha>
git cat-file -p <tree sha>
git cat-file -p <blob sha> > slander.md
git add .
git commit -m "B: recovery"
We could have just done:
git merge HEAD@{1}
The more you know!