original_id: C288
title: "A plumber's guide to Git"
subtitle: ""
speaker: alex-chan
track: 
video:
---
Git is a key part of many modern development workflows.  It's incredibly powerful, but its complexity and idiosyncratic user interface means we often treat it as a magic black box.  How does it actually work?

When we understand our tools, we become more confident and effective users.  In this workshop, we'll take a low-level look at how Git works under the hood.

We'll use Git plumbing commands to reproduce a typical Git workflow (`add`, `commit`, `branch`, and so on) -- and peer inside the `.git` directory to see what's really going on.  Along the way, we'll answer questions like:

*   Where does Git store information? And how?
*   What's behind a branch?
*   What happens when we run `checkout` or `reset`?

Familiarity with basic Git will be helpful.
original_id: C288
title: "A plumber's guide to Git"
subtitle: ""
speaker: alex-chan
track: 
video:
---
Git is a key part of many modern development workflows.  It's incredibly powerful, but its complexity and idiosyncratic user interface means we often treat it as a magic black box.  How does it actually work?

When we understand our tools, we become more confident and effective users.  In this workshop, we'll take a low-level look at how Git works under the hood.

We'll use Git plumbing commands to reproduce a typical Git workflow (`add`, `commit`, `branch`, and so on) -- and peer inside the `.git` directory to see what's really going on.  Along the way, we'll answer questions like:

*   Where does Git store information? And how?
*   What really happens when you run `git commit`?
*   What's behind a branch?

Familiarity with basic Git will be helpful.

You'll need your own laptop, with Git and a text editor installed.
We'll be using Git on the command line, not in a GUI.

I'll write some notes to accompany the exercises.
I'll try to post a link for download before the day, but if not, I'll have printed copies and a memory stick.

Add requirements for Git workshop
Add requirements for Git workshop
