The Git Parable - a different approach to understanding Git
60 minutes + 30 mins Q&A
Learning and using Git commands is all well and good, but until you have a working understanding of how Git itself thinks and works, it will still feel like a strange beast with lots of sharp and pointy bits.
Based on Tom Preston-Werner's essay of the same name, this introductory Git talk will start from scratch - using simple concepts like a text editor and simple file system operations - to develop a simple and straightforward version control system that is very similar to Git. This gives you a mental model of how Git works, which will help you use Git more effectively and might even clear up some common misunderstandings if you come from centralized version control background.
The talk covers how Git does branching and merging in a distributed (and partially disconnected) environment, how Git allows you to rewrite your commit history to present a prettier set of changes to your peers, and also why the concept of a staging area is so useful in your day-to-day work. Finally, the talk explores some of the techniques that Git employs to become incredibly fast and space-efficient.
Git might still have some sharp and pointy bits, but after this talk you should be better equipped to understand how they can work to your advantage.
The talk is followed by a Q&A session, in which the speaker makes a futile attempt at answering any and all Git-related questions that might arise.
I have done this talk a couple of times already, and you can see my most recent “performance” here (web page is in Norwegian, but the talk/video is in English): http://ikt.tekna.no/git/
The slides are available here: https://github.com/jherland/git_parable