I wrote a little project to expose a bar git repository in fuse. Basically, you just have your .git folder, and fuse exposes every single commit (and branch etc) as its own folder at the same time. Without actually having to checkout everything as regular files in a regular filesystem.
It's quite nice, and really shows that git internally is already half a file system. It's also quite simple, because everything is read-only.