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.
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.To setup and use Gitlet, follow these steps:
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.
This project is licensed under the MIT License. See the LICENSE file for details.