Skip to content

ChayaZak/wit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Wit – Version Control System (VCS) using Click

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.

Features

Initialize Repository:
Create a new .wit folder in the current directory to start tracking versions (wit init).

Add Files for Tracking:

Add files to be tracked and included in the next commit (wit add ).

Commit Changes:

Save a new version of tracked files with a descriptive commit message (wit commit -m "message").

View Version History:

Display the history of commits, including commit hash, date, and message (wit log).

Check Status:

Check for uncommitted changes in the repository and display their status (wit status).

Checkout Previous Versions:

Revert to a previous version by specifying a commit ID (wit checkout <commit_id>).

Technical Details

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.

Repository Structure:

All version-related information is stored in a .wit folder, including commits and tracked files.

Data Management:

Uses Python data structures (dictionaries, lists) to manage version and commit information.

Collaboration

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.

Project Goals

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.

Getting Started

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.

About

Version management project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published