Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mini_git

A lightweight, command-line version control system inspired by Git, built in C++.

Project Overview

MiniGit is a simple Git-like system designed to track file and folder changes in a repository. It allows you to commit changes, view status, and check commit history—all from the command line. This project is perfect for learning version control mechanics, file hashing, and repository management.

Key Features

  • Tracks all files and folders in the repository recursively.

  • Detects new, modified, and deleted files.

  • Detects new and deleted folders.

  • Keeps line-by-line change history for each file.

  • Supports commit creation and commit history viewing.

  • Clean, commented, and modular C++ code.

  • Simple Makefile for building and running the project.

Getting Started

Prerequisites

  • C++17 compatible compiler (g++, clang++, etc.)

  • Linux, macOS, or Windows with C++ build tools installed

Clone the Repository

git clone https://github.com/TahiraNawab123/mini_git

Build the Project

make

Run the Project

make run

Directory Structure

mini-git/
│
├─ main.cpp            # Main program
├─ minigit.h           # Header file with all core structures & functions
├─ minigit.cpp         
├─ Makefile            # Build file
├─ build/              # Compiled objects & binaries
└─ README.md     

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages