If you studied computer science at UC Berkeley, you already know what this is. I didn't study computer science at UC Berkeley, but I thought this project would be a good exercise in teaching myself to code.
Gitlet is version control system that mimics Git, but is recreated in Java. Much like Git, Gitlet uses a Merkle tree-like data structure to handle commits and branches. Gitlet also uses Java serialization to read, write, and persist files.