Given a git branch with some commits on it (C is the most recent commit):
A -> B -> C
How do I reset my workspace so that all the fil
You could use a combination of hard and soft resets:
git reset --hard B
git reset --soft C
The first would move HEAD to B and make all your files look like B. The second would then move it back to C without changing any files.
This method has the advantage that you are not in a detached-head state and all the differences between B and C will just show up as inverse diffs of your last actual commit. You will still be on your original branch.
You would probably have to specify C as a SHA-1 rather than a ref name, unless you specifically created one for the purpose.