MarkLodato/visual-git-guide

A visual guide to git.

HTML

1,368

230 commits

updated Feb 16, 2023

See the code

README

A Visual Git Reference

The goal of this website is to be a concise, visual reference for how git commands work. I often draw pictures like this on a whiteboard for my colleagues, so I figured I would make a nice electronic version once and for all.

Implementation

I chose to draw the images using TeX and PGF/TikZ. I originally tried using Graphviz, but unfortunately there is no way to tell it how to lay out the graph exactly. Using TikZ, I was able to create a domain-specific language to represent commit graphs, and I think the result turned out quite well.

All of the common macros are stored in common.tex. Each image source includes this file. To see an example of how to use these macros, look at commit-main.tex.

To generate the image files, I first create PDFs using pdflatex, and from there I create SVGs and PNGs using pdf2svg and convert, respectively.

Building from Source

First, the following must be installed:

sudo apt-get install make texlive-base texlive-fonts-extra pdf2svg imagemagick ghostscript

Then, build the images:

make

The result is in the ./build directory.

Pushing to gh-pages

Done via GitHubActions (.github/workflows/publish.yaml).

License

Copyright © 2010, Mark Lodato. Japanese translation © 2010, Kazu Yamamoto. Korean translation © 2011, Sean. Russian translation © 2012, Alex Sychev. French translation © 2012, Michel Lefranc. Chinese translation © 2012, wych. Spanish translation © 2012, Lucas Videla. Italian translation © 2012, Daniel Londero. German translation © 2013, Martin Funk, © 2017, Mirko Westermeier. Vietnamese translation © 2013, Hoat Le. Slovak translation © 2013, Ľudovít Lučenič. Portuguese translation © 2014, Gustavo de Oliveira. Traditional Chinese translation © 2015, Peter Dave Hello. Polish translation © 2017, Emil Wypych.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

MarkLodato/visual-git-guide

A visual guide to git.

HTML

1,368

230 commits

updated Feb 16, 2023

See the code

README

A Visual Git Reference

The goal of this website is to be a concise, visual reference for how git commands work. I often draw pictures like this on a whiteboard for my colleagues, so I figured I would make a nice electronic version once and for all.

Implementation

I chose to draw the images using TeX and PGF/TikZ. I originally tried using Graphviz, but unfortunately there is no way to tell it how to lay out the graph exactly. Using TikZ, I was able to create a domain-specific language to represent commit graphs, and I think the result turned out quite well.

All of the common macros are stored in common.tex. Each image source includes this file. To see an example of how to use these macros, look at commit-main.tex.

To generate the image files, I first create PDFs using pdflatex, and from there I create SVGs and PNGs using pdf2svg and convert, respectively.

Building from Source

First, the following must be installed:

sudo apt-get install make texlive-base texlive-fonts-extra pdf2svg imagemagick ghostscript

Then, build the images:

make

The result is in the ./build directory.

Pushing to gh-pages

Done via GitHubActions (.github/workflows/publish.yaml).

License

Copyright © 2010, Mark Lodato. Japanese translation © 2010, Kazu Yamamoto. Korean translation © 2011, Sean. Russian translation © 2012, Alex Sychev. French translation © 2012, Michel Lefranc. Chinese translation © 2012, wych. Spanish translation © 2012, Lucas Videla. Italian translation © 2012, Daniel Londero. German translation © 2013, Martin Funk, © 2017, Mirko Westermeier. Vietnamese translation © 2013, Hoat Le. Slovak translation © 2013, Ľudovít Lučenič. Portuguese translation © 2014, Gustavo de Oliveira. Traditional Chinese translation © 2015, Peter Dave Hello. Polish translation © 2017, Emil Wypych.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.

Significant stargazers

Karl Heinz Marbaise

430 followers · starred Feb 2010

Victorhck

133 followers · starred Jul 2020

தமிழ் நேரம்

42 followers · starred Jun 2023

Albert

76 followers · starred Apr 2013