Git In the Trenches
TeX Python Other
Switch branches/tags
Nothing to show
Latest commit 5fe5bcb Mar 25, 2014 @cbx33 Added Week tags
Failed to load latest commit information.
html Added links for downloads Sep 8, 2011
images Minor changes to cover and section9 Jan 9, 2012
scripts Added Week tags Mar 25, 2014
.gitignore Some cleanup on make files etc Aug 29, 2011
Makefile Mobi alteration Jul 3, 2012
README.mkd README: ttf-linux-libertine needs to get installed as well Aug 20, 2011
TODO TODO fixing Aug 28, 2011
ack.tex Added Week tags Mar 25, 2014
afterhours1.tex Removed blank lines affecting html conversion Aug 21, 2011
afterhours2.tex Removed spurious right-brace Feb 19, 2012
afterhours3.tex Removed blank lines affecting html conversion Aug 21, 2011
afterhours4.tex Fix minor wording/typos Jan 7, 2012
afterhours5.tex Use capital rather than capitol Jan 7, 2012
afterhours6.tex More changes from the book proof (physical) Sep 16, 2011
afterhours7.tex Fix wording/typos Jan 7, 2012
afterhours8.tex Added a TODO item and finished AF8 Aug 2, 2011 Added builder - do not use unless you are me Feb 22, 2012
chap1.tex Added Week tags Mar 25, 2014
chap2.tex Added Week tags Mar 25, 2014
chap3.tex Added Week tags Mar 25, 2014
chap4.tex Added Week tags Mar 25, 2014
chap5.tex Added Week tags Mar 25, 2014
chap6.tex Added Week tags Mar 25, 2014
chap7.tex Added Week tags Mar 25, 2014
chap8.tex Added Week tags Mar 25, 2014
chap9.tex Minor changes to cover and section9 Jan 9, 2012
gitt.cls * Fixed symmetric bug with print edition. Sep 1, 2011
gitt.tex Work on script to autodetect layout Aug 18, 2011
index.tex Index always starts on rhs page. Aug 12, 2011
intro.tex Small wording fix to final paragraph of intro Jan 7, 2012
setup.tex Define Git version in setup.tex Jul 31, 2011


Git In The Trenches

Git In The Trenches, or GITT is designed to be a book that focusses on teaching people to use Git by associating with scenarios that are experienced by a fictional company called Tamagoyaki Inc. Through reading about their day to day lives, the reader will learn not only how to use Git, but why version control systems are important and how to implement them within an organisation.

Book Contents

The summary below shows a list of already complete chapters and items which are pending. GITT now covers all 21 of the most commonly used Git commands.

  1. Analysing VCS requirements
  2. Initialising a repo, adding files, removing files, committing, resetting
  3. Logging, diffing, tagging, viewing historical data
  4. Branching, merging, deleting branch, recovering branch, dealing with conflicts
  5. GUI usage
  6. Stashing, Cloning
  7. Networking, Rebasing
  8. Patching, Bisecting, Filterbranching, subtree, modules

After Hours

  1. History of version control, svn, cvs, git
  2. Simple Git internals, how commits are stored
  3. Indepth look at diff and how tags are stored
  4. Merging algorithms
  5. Splitting up commits, line by line, hunk committing
  6. Push and pull settings, reference discussion
  7. Instaweb
  8. Hooks

Building the Book

GITT is written using the LaTeX language to be able to generate the PDFs easily and without artifacts. If you wish to read GITT whilst it is in development phase, you have 3 options.

  1. Read the LaTeX source, which really isn't as bad as it sounds
  2. Use make pdf to use latex to build the pdf, you will need to have pdflatex installed for this
    • For ubuntu users, run sudo apt-get install texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-xetex ttf-linux-libertine to get xelatex and the other files required to build
  3. An older PDF version of the book can be found here


It is the intention of the author to make the book available freely online, and eventually offer a printed version via a self publishing site online. If someone out there thinks the book would do well to be published by a proper print publisher and can help make this happen, please get in contact. However the book will remain free online no matter what.


The GITT project would love for people to branch off and make alterations to the text, or even start to create translations. Currently the book is written in LaTeX, but it isn't hard to learn. You can see the source files in plain text and edit them quite easily. Also, we are looking for situations in which you may have found yourself whilst using Git, whether you managed to resolve them or not. GITT is rather scenario based sometimes, so we need situations in which to place the employees at Tamagoyaki Inc. Spelling fixes are always welcome, as are general comments on the text itself.

Anyone who contributes will be added to the Acknowledgement section if they wish it. If I miss you out, please do not be offended, just nudge me gently :)