wit is a simple version control system inspired by Git, developed as a final project for a basic Python course.
The system allows users to manage file versions, track changes, commit updates,
and view version history—all through a user-friendly Command-Line Interface (CLI) built with the Click library.
Initialize Repository:
Create a new .wit folder in the current directory to start tracking versions (wit init).
Add files to be tracked and included in the next commit (wit add ).
Save a new version of tracked files with a descriptive commit message (wit commit -m "message").
Display the history of commits, including commit hash, date, and message (wit log).
Check for uncommitted changes in the repository and display their status (wit status).
Revert to a previous version by specifying a commit ID (wit checkout <commit_id>).
Developed in Python using Object-Oriented Programming (OOP) principles for modularity and maintainability.
Command-Line Interface implemented with the Click library for intuitive user interaction.
All version-related information is stored in a .wit folder, including commits and tracked files.
Uses Python data structures (dictionaries, lists) to manage version and commit information.
This project was developed by a team of three students, emphasizing teamwork, brainstorming, and the integration of diverse ideas to achieve creative and high-quality solutions.
The development process included in-depth research of Git’s core concepts and best practices in version control.
The main goal of wit is to provide users with an efficient and easy-to-use tool for file version management, similar to Git.
The system supports organized work, team collaboration, and easy recovery of previous file versions—essential features for any software project.
Clone the repository:
git clone https://github.com/ChayaZak/wit
Install dependencies:
pip install click
Run commands:
Use the CLI to initialize a repository, add files, commit changes, and more.