Inspiration
This project is inspired by and mimics some of the basic features of the popular version control system, Git.
What it does
A version-control system is essentially a backup system for related collections of files. The main functionality that Gitlet supports is:
Saving the contents of entire directories of files. In Gitlet, this is called committing, and the saved contents themselves are called commits.
Restoring a version of one or more files or entire commits. In Gitlet, this is called checking out those files or that commit.
Viewing the history of your backups. In Gitlet, you view this history in something called the log.
Maintaining related sequences of commits, called branches.
Merging changes made in one branch into another.
Commands built
- init
- add
- commit
- log
- global-log
- status
- find
- merge
- checkout
- branch
- reset
What I learned
This project was very difficult to implement and took several days to finish. And as a result, I learned a lot from the project. I understood data structures such as hashmaps, linked lists, and trees at a very deep level and implemented that knowledge into making this project possible.
Log in or sign up for Devpost to join the conversation.