Skip to content

Latest commit

 

History

History
46 lines (37 loc) · 1.19 KB

README.asciidoc

File metadata and controls

46 lines (37 loc) · 1.19 KB

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.