in git, what ways are there to "lose" a commit in a way that you CAN'T recover using the reflog (so that you need to iterate over every single commit in the repository if you want to find it?

The only ways I know (using git's normal tools) are:

* using `git stash drop` or `git stash pop` to drop a stashed commit
* waiting 90+ days to try to recover the commit (so that it expires from the reflog)
* explicitly deleting the reflog in some way (rm -rf .git, git reflog expire, etc)

@b0rk it’s sort of cheating, in that it’s outside of git, but the “the repo is messed up, just delete it and check it out again” advice that you see not-uncommonly would do it. Though I guess that anyone following that advice is unlikely to also know enough to be looking through the reflog, so…