Here's my history for the folder 'somefolder'
$ git log somefolder
More changes to somefolder
Updating somefolder and other stuff
Bugs fixed in somefolder
You can use git checkout to update your repository to a specific state.
git checkout e095 -- somefolder
As for your question about generating the diff, that would work too. Just generate the diff to go from your current state back to
git diff 89cd..e095 -- somefolder