Gitlet is a simplified version-control system inspired by Git, designed to implement essential features for managing and tracking changes in a collection of files. This project was developed as part of UC Berkeley's CS 61B: Data Structures course and aims to provide hands-on experience with building a lightweight version-control system from the ground up.
Commit System: Save the entire state of a directory with a single commit, capturing snapshots of your project at different points in time.
File Restoration: Check out and restore specific versions of files or entire commits to recover previous states of the project.
Version History: View the complete log of commits to track the history and evolution of your project.
Branching: Create and manage branches to organize related sequences of commits for different development paths.
Merging: Merge changes from one branch into another, allowing collaboration and combination of different code versions.
Gitlet mimics the basic functionality of Git but is designed to be smaller and simpler, making it ideal for learning core version-control concepts.
The project is written in Java and emphasizes implementing fundamental version-control operations manually to understand their internal mechanics.