After some useful and not so useful changes: how can I revert the doodles to their original state without throwing away the useful work?

I've found:

   git checkout -f whatever

which is supposed to "throw away local changes", but how can I restrict this? Or do I have to save everything, reset everything, and copy the goodies back in?

Any better way?

-W