This would allow users to perform merges, rewrite history, and all the features of git that we don't expose an API for. This could be super handy. Downside: we'd need to be careful to reload "file" data from disk if/when necessary