Everything open source
May 16–17, 2016: Training & Tutorials
May 18–19, 2016: Conference
Austin, TX

Dissecting Git's guts

Emily Xie (Squarespace)
9:00am–12:30pm Tuesday, 05/17/2016
Collaboration
Location: Meeting Room 19 Level: Intermediate
Average rating: ****.
(4.29, 31 ratings)

Prerequisite knowledge

Attendees should be programmers that use Git regularly as part of their daily workflow.

Materials or downloads needed in advance

Attendees need a laptop with Git installed.

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.

Description

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.

Photo of Emily Xie

Emily Xie

Squarespace

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.

Comments

Picture of Emily Xie
Emily Xie
05/15/2016 3:56pm CDT

Hi all. One last remark for things to prepare beforehand. In addition to downloading Git Bash if you are running Windows, 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.

Looking forward to teaching git internals to you all!

Cheers,
Emily

Picture of Emily Xie
Emily Xie
05/15/2016 10:59am CDT

Hi all. If you are using windows, please download Git bash for this session if you do not have it already installed:

https://git-for-windows.github.io/