I'm not sure of your exact problem, so this might not be helpful, but learning about the reflog in Git accelerated my learning Git because I was no longer fearful of getting my repo into such a state, as I knew the reflog would get me out of trouble, i.e. I could try most any old Git op knowing that if I stuffed things up, I wasn't doomed to re-clone.