Skip to content

kareem-ghazi/kgit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Sawarly

Introduction

kgit is a minimal Git implementation written from scratch in Python, based on the wyag project. This repository reimplements the core features of the Git version control system from the ground up.

The goal is to demonstrate that, despite its reputation for complexity, the core of Git is simple and elegant.

What is Implemented?

kgit implements the following core Git commands, compatible with real Git repositories:

  • add
  • cat-file
  • check-ignore
  • checkout
  • commit
  • hash-object
  • init
  • log
  • ls-files
  • ls-tree
  • rev-parse
  • rm
  • show-ref
  • status
  • tag

Each command is a simplified version of its Git counterpart, focusing on clarity and core functionality.

Getting Started

  1. Clone this repository:

    git clone https://github.com/kareem-ghazi/kgit
    cd kgit
  2. Run kgit commands:

    python3 src/kgit <command> [options]
  3. Explore the code:
    The main logic is in src/kgit/libkgit.py. Each command is implemented in a clear, readable way.

License

This project is released under the MIT License. See LICENSE.txt for details.

About

My own Git version control system.

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages