A lightweight CLI version control system that replicates core Git commands from scratch.
Project description
GitMini
GitMini is a lightweight, minimal version control system built from scratch in Python. It replicates core Git commands like init, add, commit, log, and checkout — perfect for learning how Git works under the hood or experimenting with your own VCS.
This project has been uploaded to PyPI! Find the link here: https://pypi.org/project/gitmini/
🛠️ Features
gitmini init– Initialize a new GitMini repositorygitmini add– Stage changes (individual files, folders, or.)gitmini commit– Commit staged changesgitmini log– View commit historygitmini checkout– Switch between branches or restore old versions- Simple
.gitmini-ignoresupport - Content-addressable storage using SHA-1
- No external dependencies
📦 Installation
Make sure to create and activate a python virtual environment before doing this.
GitMini is not designed to work as a PATH variable.
- Create and activate virtual environment
python -m venv .venv
.\.venv\Scripts\activate
- Install 'gitmini' via pip
pip install gitmini
Installation done!
📚 Usage
gitmini init
gitmini add file.txt
gitmini commit -m "Initial commit"
gitmini log
gitmini checkout
gitmini branch (or, just leave without to see current branch)
👤 Author
James David Furtado
LinkedIn : https://www.linkedin.com/in/james-furtado/
📄 License
MIT License. See LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitmini-0.1.1.tar.gz.
File metadata
- Download URL: gitmini-0.1.1.tar.gz
- Upload date:
- Size: 13.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22f1172299d4cc78563388916fbf7d0cf1b76f9854c021683282864fa2733261
|
|
| MD5 |
50ba12a3ebd9adb0598897cffdb0f035
|
|
| BLAKE2b-256 |
8e6eb60dbffb8eddd05beb979c2e8c56621fc2354b3713d9a4405202f87c558d
|
File details
Details for the file gitmini-0.1.1-py3-none-any.whl.
File metadata
- Download URL: gitmini-0.1.1-py3-none-any.whl
- Upload date:
- Size: 16.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8aac152ed733884bfabf0f36360bc88013e01f27f6650e7782b3f2722ba688f8
|
|
| MD5 |
a845288a612062b2443bcd926f7a7007
|
|
| BLAKE2b-256 |
1b0d97ce1e55f146517185a77c6f03c06ff202a6d1078411242ee08206c6b138
|