radhe.dev_
back to work
02
2026Backend / Systems Developer

MiniGit - A Git inspired Version Control System

A lightweight Git-inspired version control system built in C++ to explore repository management, file tracking, hashing, and command-line tooling.

MiniGit - A Git inspired Version Control System
Duration
2 weeks
Year
2026
Role
Backend / Systems Developer
Status
Shipped

// brief

The ask.

// brief

MiniGit is a personal systems programming project built from scratch in C++ to understand how version control systems work internally. Instead of relying on Git libraries, core repository operations are implemented manually.

// problem

Most developers use Git daily without understanding how repositories, commits, references, and object storage work behind the scenes. The goal was to learn these low-level concepts by building a simplified version control system.

// solution

Designed and developed a Git-inspired CLI application using modern C++. Implemented repository initialization, object storage, file tracking, commit management, and branch reference handling using the local file system. Structured the project with modular components to mimic real-world version control architecture.

// outcome

Created a working command-line version control tool that demonstrates understanding of file system operations, repository structures, hashing concepts, and systems-level software design while strengthening modern C++ development skills.

// screens

Through the glass.

Repository initialization from terminal
Repository initialization from terminal
Repository status inspection and workspace tracking
Repository status inspection and workspace tracking
Staging files with the add command
Staging files with the add command

// 01

Tools

  • C++17
  • STL
  • File System API
  • CLI
  • Git Concepts
  • Object Storage

// 02

Note

  • Educational project focused on understanding version control internals.
  • Built entirely in C++ without external version control libraries.
  • Inspired by core Git architecture and workflows.

// 03

Features

  • Repository initialization (minigit init)
  • Custom repository structure and metadata management
  • File tracking and object storage
  • Commit creation and history management
  • Branch reference handling
  • Command-line interface for repository operations
  • Cross-platform C++17 implementation
  • Modular architecture for future feature expansion
  • File system based storage engine
  • Git-inspired workflow and repository design