# Jan Krüger's blog

Creative Engineering and randomness

# Git cheat sheet, extended edition

Git Cheat sheet

A few days ago, I posted a cheat sheet for Git (just as last time, Git is a really cool revision control system). Let’s face it: it was ugly. Not something you would actually hang up where other people could see it, was it? Here’s the remedy, which also works on both A4 and Letter and is more detailed.

In more detail, the additional details are:

• The old “structure overview” diagram showing the big picture of repositories and working trees is now a lot bigger and a lot more detailed. It comes along with a glossary, a few notes on getting started, a list of useful tools you may want to look at, and links to the most important websites of all (cough).
• The whole workflow diagram is gone since it was not really all that clear. Instead, some of the groups of commands are connected with lines, indicating in which sequence you’ll probably use some of these commands.
• Some commands have shuffled around a bit, and there’s a new box with information on Git’s configuration options.
• In order to fit it all together, it’s now a two-sided cheat sheet. The “front” side has overview-style things on it and the “back” side is mostly a command reference.

So how’s it look like? Observe:

Because Inkscape saw fit to generate annoyingly huge PDF files from the source, this time you get a zipped two-page PDF document as well as the Inkscape source files.

Another thing that I didn’t pay attention to last time was the license. No longer: this cheat sheet is licensed to you under the terms of a Creative Commons Attribution-NonCommercial 3.0 license. For attribution, should you want to create a derived work, please include a mention of http://git.jk.gs/ and, if available space permits, my name.

### Known issues

Inaccuracies and missing helpful things (extracted from user-submitted comments from the previous iteration of this website):

• All of the color settings can be condensed into color.ui which controls color settings for all commands.
• origin is the name of the default remote (reference to another repository), not the name of a branch. Git imports origin’s branches using names like origin/foo in a separate namespace.
• git commit creates commits based on the index/staging area, not the working tree itself. The index is one of the features unique to git and it’s really cool. It allows you to commit only part of your changes, which really helps with making clean commits.
• The PDF file is unnecessarily big. This is because, when I exported it, I converted all text to paths, and they weren’t stored particularly efficiently. You can easily generate a much smaller PDF from the same Inkscape sources.