GitSnapbox allows you to take a snapshot of a git repository (including untracked files) and revert back to it.