//shop.jcoglan.com Products Privacy About 708 pages (PDF) 175,000 words Table of contents Buy now – £36 Building Git is a deep dive into the internals of the Git version control system. By rebuilding it in a high-level programming language, we explore the computer science behind this widely used tool. In the process, we gain a deeper understanding of Git itself as well as covering a wide array of broadly applicable programming topics, including: Unix concepts Reading and writing from files, making writes appear atomic, prevent race conditions between processes Launching child processes in the foreground and background, communicating with them concurrently Displaying output in the terminal, including colour formatting, paged output, and interacting with the user’s text editor Parsing various file formats, including Git’s Merkle-tree-based commit model, the index, confi...