Not really a horror story because I fixed it with reflog, but it was a bit of a shock when we all suddenly couldn't push to the dev branch. Turns out one of the devs, who insists Git is just like SVN, decided to delete dev and push, and ignore the warnings. Apparently that's OK in SVN.
As an old programmer who has used git since Linus whipped it up over one frenzied weekend after his spat with the evil BitKeeper and who has studied its mysteries since before most of you were born ... yeah just delete the damn project and download a new version.
I've often ended up guessing what things do and messing things up.
One example is when I couldn't remember the difference between git checkout -b and git checkout -B, so in my infinite wisdom I decided to use -B because surely capital letters are better! Tried using it to switch back to a branch, and... Yeah, that was annoying.
Joined on a project and the unsupervised junior devs had branches for each developer, even if they were working on the same features. They were copying and pasting each others code into their personal branches to stay up to date.