tiny-git
tiny-git copied to clipboard
Tiny implementation of Git in Python, to learn how Git works.
= 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.
[options="header"] |====== | 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
tig checkout [-b ]
tig diff
tig log
tig branch
tig merge
== Slides: Building Git From Scratch
The link:docs/slides.asciidoc[] provide more information about the various revsions and how to build Git incrementally.