Too Long; Didn't Read
There is another kind of git history which been keep tracked in your local and your local only, which is so-call reflog. This reflog stores the whole shebang of you local activities and you can undo almost everything with it. The reflog only available on you local and it could be pruned(trimmed) automatically. It won't last forever, and reflog won't be available forever. Do not apply these things on the public branch - your nerd co-workers will hate you.