In the 'real' Git, one of the functions I use frequently is `git checkout -- .`, which discards any unstaged changes. Looking at Gitlet's implementation, it wouldn't handle that well as `checkout` can only take a ref.
So I guess I'm wondering what the real `git checkout -- .` actually does behind the scenes?
So I guess I'm wondering what the real `git checkout -- .` actually does behind the scenes?