Skip to content

Tiny implementation of Git in Python, to learn how Git works.

License

Notifications You must be signed in to change notification settings

bravegnu/tiny-git

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiny Git

A tiny model of Git, used for learning and demonstrating how Git works. A series of models is available, in increasing order of complexity. The list of versions and their features is listed below.

Version Description

v0

Only argument parsing

v1

Implements single file commits without history tracking

v2

Adds support for history tracking and logs

v3

Adds support for checking-out older revisions

v4

Adds support for creating branching

v5

Adds support for merging changes

Usage

The first step is to activate a particular version of Tiny Git. From the top level directory of the project source activate and specify the version no. to activate. For example, to activate version v5, the following command can be used.

$ source activate v5

Type tig to get the available list of sub-commands.

$ tig
Usage:
  tig init
  tig commit <msg>
  tig checkout <start-point> [-b <branch-name>]
  tig diff
  tig log
  tig branch
  tig merge <branch>

Slides: Building Git From Scratch

The docs/slides.asciidoc provide more information about the various revsions and how to build Git incrementally.

About

Tiny implementation of Git in Python, to learn how Git works.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published