If you are using windows, please download Git bash for this session if you do not have it already installed.
In addition, please take a second to clone this cheat sheet: https://github.com/emilyxxie/gits_guts_commands, and have the "git_cheat_sheet.pdf" file pulled up. This is for reference during the exercises.
Emily Xie explores Git’s plumbing commands to dissect what is going on behind the scenes at a low level when you use Git. Emily walks attendees through the underlying structures that constitute Git, going spelunking in the .git folder and examining its various parts: the objects directory, where you’ll inspect blobs, tree objects, and commit objects and learn how they relate to one another; the index (aka staging) and HEAD files; and finally, the refs folder, where you’ll look at the head files. As she takes you through the general layout, Emily discusses how Git is essentially structured as a Merkle DAG. Finally, Emily looks at Git’s garbage collection and outlines how it ties into the system’s general structure.
Along the way, you’ll solidify your conceptual understanding of Git, exploring questions such as: What is at the heart of a branch? What is actually happening when you do a Git checkout? What is really happening in a reset? Why is data (almost) never lost in Git?
While the class will be interactive throughout, at the end, Emily gives you free rein to practice using plumbing commands, empowering you with the ability to interact with and use Git on a low level.
Emily Xie is a software engineer at Squarespace. Previously, she spent her days making art with code as a Tech Resident at Pioneer Works, a Brooklyn-based experimental arts center. Outside of work, Emily enjoys cooking, photography, and video games.
Comments on this page are now closed.
©2016, O'Reilly Media, Inc. • (800) 889-8969 or (707) 827-7019 • Monday-Friday 7:30am-5pm PT • All trademarks and registered trademarks appearing on oreilly.com are the property of their respective owners. • firstname.lastname@example.org