# Gitlet https://inst.eecs.berkeley.edu/~cs61b/fa21/materials/proj/proj3/index.html Gitlet is a version control system, similar to Git, created as a project for CS61B (Data Structures and Algorithms) at UC Berkeley. This project is designed to help students understand the underlying data structures and algorithms used in version control systems. ## Features Here are some of the core features implemented in Gitlet: - `init`: Initializes a new Gitlet version-control system in the current directory. - `add`: Adds a copy of the file as it currently exists to the staging area. - `commit`: Saves a snapshot of certain files in the current commit and staging area so they can be restored at a later time. - `rm`: Unstages the file if it is currently staged, or marks it for untracking if it's tracked by the current commit. - `log`: Displays information about each commit backwards along the commit tree from the current head commit. - `checkout`: Restores files from a given commit, moves the current branch's head to that commit, or creates a new branch pointing to the given commit. - `branch`: Creates a new branch with the given name, or deletes the given branch. - `merge`: Merges files from the given branch into the current branch. ## Setup and Installation To setup and use Gitlet, follow these steps: 1. Clone this repository to your local machine. 2. Navigate to the directory of the cloned repository. 3. Run the Gitlet program. ## Contributing This project is primarily a learning tool and is not intended for serious use. However, if you have suggestions for improvements or enhancements, feel free to open an issue or submit a pull request. ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.